C#正则表达式获取括号信息

时间:2009-08-06 22:24:19

标签: c# .net regex parentheses

我需要一个与括号中的文字相匹配的正则表达式。应包括括号。以下是一些例子。

字符串:“(AB123-16W)DJ2988W61” 应匹配:“(AB123-16W)”

字符串:“(6541238 Rev. B,PS B1& PS B2)62MJ301-29 Rev. NC” 应匹配:“(6541238 Rev. B,PS B1& PS B2)”

2 个答案:

答案 0 :(得分:2)

/(\(.*?\))/

应匹配括号中的项目:D

您可能不必使用您的语言中的分隔符(正斜杠)!尝试使用,如果不起作用,请尝试不使用。

答案 1 :(得分: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();

所有结果变量将评估为真。