字符串匹配的问题(急)
请问字符串中如果有多个()嵌套使用,除了用计数器和堆栈来计算嵌套了几个之外,有没有更好的方法让第一个(找到最后一个),谢谢!例如:
absc(dfs(fdf(123)dfds)fdser)tr,
第一个找到(dfs(fdf(123)dfds)fdser)而不是(dfs(fdf(123)
问题点数:20、回复次数:10Top
1 楼OneDotRed(武装到眼神)回复于 2004-12-01 18:01:56 得分 20
string pattern = @"\((?>[^()]+|\((?<Pare>)|\)(?<-Pare>))*(?(Pare)(?!))\)";
Top
2 楼mjm_77(羽毛)回复于 2004-12-02 17:01:26 得分 0
上面的式子能不能解释一下,而且其中的<-pare>和(pare)有没有问题呢?我直接按你这个编了一段程序,没有得到结果啊,谢谢!Top
3 楼OneDotRed(武装到眼神)回复于 2004-12-02 21:23:31 得分 0
absc(dfs(fdf(123)dfds)fdser)tr,
左括号是(还是(?
如果是(,则使用
string pattern = @"((?>[^()]+|((?<Pare>)|\)(?<-Pare>))*(?(Pare)(?!))\)";Top
4 楼OneDotRed(武装到眼神)回复于 2004-12-02 21:24:14 得分 0
如果还有问题就换机子吧,呵呵Top
5 楼peng1014()回复于 2004-12-02 21:28:41 得分 0
studyTop
6 楼mjm_77(羽毛)回复于 2004-12-03 09:46:20 得分 0
感谢!我已经调试通过了,我还以为那个<-pare>和(pare)是打错了,原来pare不是捕获组啊,再次感谢啊Top
7 楼mjm_77(羽毛)回复于 2004-12-03 09:52:58 得分 0
感谢OneDotRed(武装到眼神)Top
8 楼andy06001509(啸鸣)回复于 2004-12-03 09:57:30 得分 0
可以發一段程序段學習學習嗎?Top
9 楼trh(trh)回复于 2004-12-03 10:02:16 得分 0
studyTop
10 楼mjm_77(羽毛)回复于 2004-12-03 10:06:53 得分 0
请斑竹帮忙结贴给分吧,再次谢谢OneDotRed(武装到眼神) ,以后有问题再请教啊Top




