正则表达式匹配html标签实例
html标签有以下几个特别的特点:
1. 如果有属性,那么它之前肯定有空格。
2. 收尖括号的前面一定是双引号,或者双引号加上少许空格
根据这两个特点,我写了一个最蛋疼的html标签的正则表达式如下:
代码如下 | |
@"<(!|/)?w+( ((.|n)*?"")?)? *>" |
第二个问号是指贪婪模式找到收尖括号即停止,
第三个问号是指如果出现属性,则一定是以双引号结尾的,
第四个问号是指有可能不出现属性。
第一个空格是指第一个属性的前面有一个空格,
第二个空格指的是最后一个属性的后面可能会有空格。
这里面出现了两个双引号的并列,那就是双引号在有@符号里面的写法,并非",而要写成""。
这个标签能完美匹配上面的那个例子,以及我爬网页时出现的其它各种情况。
实例
代码如下 | |
<textarea id="htmlCode" rows="5" cols="50">
<script> |
我也只能写成这样了有更好方法的朋友可以给建义