回答
它可能比較容易匹配所有(...)
令牌,並採取第二:
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