回答
它可能比较容易匹配所有(...)
令牌,并采取第二:
MatchCollection matches = Regex.Matches(str, @"\(([^)]*)\)");
获得的第二场比赛:
String second = matches[1].Groups[1].Value;
正则表达式假设有效对括号,并没有嵌套。这是非常基本的:
\(
- 开幕。(...)
- 捕获组,轻松提取值。[^)]*
- 组内容 - 不是(
的字符。\)
- 结束。
感谢这看起来比我原来的更时髦 – abmv 2011-03-22 09:23:51
你需要小心输入如:(BETA(1))(...)或任何东西包含嵌套的括号。 – 2011-03-22 09:43:02
@Stephen - 注意强制性的“正则表达式假定有效的括号对,并且没有嵌套”注释':)'。在.Net正则表达式中有很多方法可以解决这个问题,但我不认为有必要将这个问题复杂化,至少在OP请求它之前。匹配一个平衡的令牌并不难,但它要复杂得多。小插头:http://kobikobi.wordpress.com/2010/12/14/net-regex-matching-mixed-balanced-parentheses/ – Kobi 2011-03-22 09:52:35
你想要它在正则表达式吗?如果不是正则表达式:
int n = text.indexOf("(");
if (n >= 0) {
n = text.indexOf("(", n+1);
}
正则表达式: “?”
\(.+?\)\s*(\(.+?\))
公告使用的下列强制非侵略性模式。你必须在括号内至少有一个字符。
- 1. 正则表达式使用GNU C正则表达式库
- 2. 用C#正则表达式
- 3. 用C#正则表达式
- 4. 从JDK使用正则表达式使用正则表达式
- 5. 正则表达式正则表达式正则表达式使用正则表达式,但不是与Python
- 6. 如何使用正则表达式C++?
- 7. 匹配正则表达式...使用C#
- 8. C# - 使用正则表达式与TextBox.Validating
- 9. 使用正则表达式在C#
- 10. 动态正则表达式使用C#
- 11. 使用“在C#正则表达式
- 12. 使用正则表达式在C++ 11
- 13. 打破使用正则表达式C#
- 14. 使用正则表达式搜索C++
- 15. 使用正则表达式或C#
- 16. 正则表达式不使用C#正则表达式匹配特定的词
- 17. 比较使用boost ::正则表达式(C++)两个正则表达式
- 18. 正则表达式使用jquery和正则表达式
- 19. 正则表达式不使用正则表达式的工作
- 20. 使用正则表达式的正则表达式数字
- 21. (教学)的JavaScript - 使用正则表达式(正则表达式)
- 22. 正则表达式使用正则表达式
- 23. 使用正则表达式以正则表达式
- 24. perl正则表达式:使用正则表达式捕获
- 25. POSIX正则表达式:使用正则表达式
- 26. 正则表达式使用正则表达式的SSN
- 27. 使用正则表达式的Javascript正则表达式匹配
- 28. 正则表达式(正则表达式)
- 29. 正则表达式(正则表达式)
- 30. 正则表达式(正则表达式)
你已经试过了吗?如果是这样,你可以发布它吗?或者你只是希望能够用勺子喂食? :) – 2011-03-22 08:58:52
大概不是一个公平的评论。这个家伙已经回答了187个问题......但同意一些关于他卡住的地方的更多信息更好。 – 2011-03-22 09:01:42
@Stephan,请注意,我在它后面放了一个笑脸,所以它并不像它听起来对你(或其他人)听起来那么苛刻。我只是觉得这个问题没有被问到,因为它应该是这样的:例如,没有问号可以在任何地方看到,“我需要”的一部分对我来说听起来有点苛刻,而且他/她已经试图解决的问题还不清楚。还有缺乏细节:我现在可以简单地回答一些问题,比如:'s.substring(7)'(伪代码),这会产生所需的结果。 – 2011-03-22 09:13:50