C # Регулярное выражение для получения информации в скобках - PullRequest
0 голосов
/ 07 августа 2009

Мне нужно регулярное выражение, которое будет соответствовать тексту, заключенному в скобки. Скобки должны быть включены. Вот несколько примеров.

Строка: "(AB123-16W) DJ2988W61" Должно совпадать: "(AB123-16W)"

Строка: "(6541238 Ред. B, PS B1 и PS B2) 62MJ301-29 Ред. NC" Должно совпадать: «(6541238 Ред. B, PS B1 и PS B2)»

Ответы [ 2 ]

2 голосов
/ 07 августа 2009
/(\(.*?\))/

Должно совпадать с пунктами в скобках: D

Возможно, вам не обязательно использовать разделители (косые черты) на вашем языке! Попробуйте, и если это не сработает, попробуйте без.

1 голос
/ 07 августа 2009
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.

...