c#利用正则表达式取出括号中的内容
例如(abc)de(fg)hi(jk)等等,长度不定,如何用正则一次取出全部括号里的内容 也就是abc fg jk
------最佳解决方案--------------------
string source = "(abc)de(fg)hi(jk)";
Regex reg = new Regex(@"(?is)(?<=\()[^\)]+(?=\))");
MatchCollection mc = reg.Matches(source);
foreach (Match m in mc)
{
MessageBox.Show(m.Value);
}
------其他解决方案--------------------括号有嵌套么?没有的话很简单
string.Join(" ", Regex.Matches("(abc)de(fg)hi(jk)"), @"(?=\()\w(?<=\))").Cast<Match>().Select(m = > m.Value).ToArray());
------其他解决方案-------------------- string str = "(abc)de(fg)hi(jk)";
var ary = Regex.Matches(str, @"(?<=\()((?<gp>\()