首页 新闻 搜索 专区 学院

请教高手!!!!!!!C# 正则表达式

0
悬赏园豆:50 [已解决问题] 解决于 2008-08-07 09:56
<P>我想要在输入的内容里找出不匹配整个[DIV]或[/DIV]的内容应该怎么写哇?</P> <P>我写的是[^(\[DIV[^\]]*\]|\[\/DIV\])]*不行,请教高手!!!!!!</P>
问题补充: 我要做的是一个嵌套的匹配 比如 [div]1 [div]2[/DIV] [div]3[/DIV] [/DIV] [div][/DIV]中不能有其他的[DIV][/DIV], 也就是先匹配[div]2[/DIV],[div]3[/DIV], 然后替换[div]2[/DIV],[div]3[/DIV], 然后再匹配[div]1[/DIV]
footsome的主页 footsome | 初学一级 | 园豆:170
提问于:2008-07-08 09:01
< >
分享
最佳答案
0
have you read this? there is a sample like what you need... http://www.unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm#balancedgroup --------------- 平衡组的一个最常见的应用就是匹配HTML,下面这个例子可以匹配嵌套的<div>标签:<div[^>]*>[^<>]*(((?'Open'<div[^>]*>)[^<>]*)+((?'-Open'</div>)[^<>]*)+)*(?(Open)(?!))</div>. ---------------
deerchao | 大侠五级 |园豆:8167 | 2008-07-09 00:17
其他回答(2)
0
你可以写出匹配[DIV]和[/DIV]的正则,然后使用Regex.Replace()方法将匹配的部分替换成空字符串,就是你想要的内容了。 匹配[DIV]和[/DIV]的正则表达式是:(\[DIV\])|(\[/DIV\])
玉开 | 园豆:8822 (大侠五级) | 2008-07-08 09:22
0
(&lt;div&gt;|&lt;/div>).*?(&lt;div&gt;|&lt;/div>) 通过group取到所有的div和/div 然后对其进站出栈操作就可以 但是你给的题目不明确 如果div只有一层而不嵌套 只要用我上面那个语句获取group里字符和上个索引的group字符比较如果相同就判定上级的有问题 但是如果是嵌套的 那是无论如何都无法找出问题是出在哪个div的
小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2008-07-13 11:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册