正则表达式html标签替换
var reg = /<[^>]+>/gi; //匹配所有的html标签。但不包括html标签内的内容
var reg2 = /<(?!img).*?>/gi; //匹配除img标签外的html标签 不包括html标签内的内容
var reg3 = /<(?!img|p|\/p).*?>/gi; //匹配除img、p标签外的html标签 不包括html标签内的内容
var reg4 = /<(img|br|hr|input)[^>]*>/gi; //只匹配img、br、hr、input标签
var reg1 = /<(div|\/div).*?>/gi; //匹配所有的div标签。不包括div标签内的内容
/*
* 普通匹配 (但后面用不到,用不到的原因,可查看下面截图)
* 下面两个可以匹配
* 但是有个bug 嵌套标签的结构就不会被匹配到 例如这样的结构: <div>外面的div<div>里面的div</div></div>
* 这也就是上面所说的嵌套标签的难点
* */
var reg = /<div[^>]*>[^<]*<\/div>/gi; //匹配所有的div标签。包括div标签内的内容
var reg2 = /<[^>]*>[^<]*(<[^>]*>)?/gi; //匹配所有的html标签,包括html标签内的内容
/*
* 使用分组匹配
* bug跟上面的一样 嵌套标签的结构就不会被匹配到 例如这样的结构: <div>外面的div<div>里面的div</div></div>
* 如果用在过滤上的话,可以重复过滤(不会少过滤掉一些本就在标签内的内容,也不会多过滤标签外的内容)。在过滤上看,分组匹配比上面的匹配靠谱多了。
* 但是,有个小问题,下面的分组匹配正则匹配不到单标签的,所以还需要用到上面的一般匹配。
* 双标签对应匹配
* */
var reg3 = /<(div)[^>]*>[^<]*<\/(\1)>/gi; //分组匹配 匹配所有的div标签,包括div标签内的内容
var reg4 = /<(\S*)[^>]*>[^<]*<\/(\1)>/gi; //分组匹配 匹配所有的html双标签,包括div标签内的内容