当前位置:编程学习 > C#/ASP.NET >>

C# 正则求解,大神帮帮忙,头发都要掉光了

--------------------编程问答--------------------
引用 楼主 xuan19900 的回复:
我总共写了两句正则,第一句一句有断言,第二句没有断言
1:(?<=(<[^<>]*(<[^<>]*(?:(?:(?'Open'<)[^<>]*)+(?:(?'-Open'>)[^<>]*)+)*(?(Open)(?!))>)*[^<>]*))7


2:<[^<>]*(?:<[^<>]*(?:(?:(?'Open'<)[^<>]*)+(?:(?'-Open'>)[^<>]*)+)*(?(Open)(?!))>)*[^<>]*7
我那个主要是匹配尖括号里的7(尖括号假设都是成对的,不会出现少一个尖括号的情况) ,想法是找到一个左尖括号然后匹配如果有遇到尖括号就用平衡组匹配然后继续匹配直到匹配7

这张图里的正则主要应用到我的正则里用来匹配尖括号的
下面两张就是一个有加断言一个没加断言的匹配结果,我最终的结果是想要匹配到括号里 三个7,而不是一个
 可能是环境本身问题,我换个通用的方式就可以实现了7(?=([^<>]*(<[^<>]*(?:(?:(?'Open'<)[^<>]*)+(?:(?'-Open'>)[^<>]*)+)*(?(Open)(?!))>)*[^<>]*)>)
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,