MyException - 我的异常网
当前位置:我的异常网» C# » 正则表达式匹配

正则表达式匹配

www.MyException.Cn  网友分享于:2013-12-22  浏览:28次
求助:正则表达式匹配
想匹配若干字母后面跟(,后面再跟一些字符,后面跟),并把最前面的那些字母作为组,但是遇到这种情况:a(b(c()))。在c#中试只能找到最外面的a,找不到b和c,有什么办法能把a   b   c都找到呢?

------解决方案--------------------
string text = @ "aa(bs(c()))。 ";

Regex re = new Regex(@ "(? <txt> [^\(]+)\( ");
foreach(Match m in re.Matches(text))
{
Console.WriteLine(m.Groups[ "txt "].Value);
}
------解决方案--------------------
这个看楼主的需求吧,如果只是取出a b c,那很简单

string test = @ "a(b(c()))d(e) ";
MatchCollection mc = Regex.Matches(test, @ "[^()]+(?=\() ");
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n ";
}


但是如果楼主要取出
c()
b(c())
a(b(c()))
d(e)
这样的分组,倒是可以用正则来实现,不过正则实现这个就比较吃力了,可以用其它方式来实现,如果有这个需要,说明一下
------解决方案--------------------
楼主还是给实例吧,然后给出你想要的结果,一定要有结果

暂时按楼主的意思来看,正则很难做到,至少不是单纯的一个正则就可以做到的

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有