2009-08-06 58 views
0

我需要一個正則表達式來匹配圓括號中的文本。括號應包括在內。這裏有些例子。C#正則表達式來得到加括號的信息

字符串: 「(AB123-16W)DJ2988W61」 應該匹配: 「(AB123-16W)」

字符串:「(6541238修訂版A,PS B1 & PS B2)62MJ301-29啓NC 「 應符合: 」(6541238修訂版B,PS B1 & PS B2)「

回答

1
var test1 = "(AB123-16W) DJ2988W61"; 
var test2 = "(6541238 Rev. B, PS B1 & PS B2) 62MJ301-29 Rev. NC"; 
var test3 = "(6541238 Rev. B, PS B1 & PS B2)(AB123-16W)"; 

Regex r = new Regex(@"(\([^)]*\))"); 

var result1 = (r.Matches(test1)[0].Groups[1].Value == "(AB123-16W)"); 
var result2 = (r.Matches(test2)[0].Groups[1].Value == "(6541238 Rev. B, PS B1 & PS B2)"); 
var result3 = (r.Matches(test3)[0].Groups[1].Value == "(6541238 Rev. B, PS B1 & PS B2)"); 
var result4 = (r.Matches(test3)[1].Groups[1].Value == "(AB123-16W)"); 

Debugger.Break(); 

所有結果變量將評估爲true。

+0

用於測試用例。 – karlipoppins 2009-11-17 21:19:16

2
/(\(.*?\))/ 

應該匹配在括號中的項目:d

您可能沒有使用分隔符(正斜槓)用你的語言!嘗試一下,如果不行的話,儘量不要嘗試。

+0

你可能需要一個非貪婪版本: (?:\(* \)) 因爲貪婪版本的 「測試(123)測試(123)」 將匹配 「(123)測試(123)」 – aquinas 2009-08-06 22:37:49

+0

不幸的是,沒有返回任何匹配。 – Tarzan 2009-08-06 22:40:06

+0

用於反饋。 – Mez 2009-08-06 22:43:19