如何用正则表达式匹配除了img标签的所有其他标签 匹配所有html标签我知道: /<[^>]+>/g 关键排除img标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用正则表达式匹配除了img标签的所有其他标签 匹配所有html标签我知道: /<[^>]+>/g 关键排除img标签相关的知识,希望对你有一定的参考价值。

如何用正则表达式匹配除了img标签的所有其他标签?
匹配所有的html标签我知道: /<[^>]+>/g
关键是排除img标签
不会,求大神指教!!
比如已知:
<div>
<p>你好呀</p>
<p>nifdkslafjkdlsa</p>
<img src="图片地址1" alt="">
<p>1223323333</p>
<img src="图片地址2">
</div>

我想得到:

你好呀
nifdkslafjkdlsa
<img src="图片地址1" alt="">
1223323333
<img src="图片地址2">

我想得到的这个文字和图片的顺序也不能改变,就这样的,
请大神指教!!!

可以先对字符串做个处理,删除所有的img标签,代码如下:

<script>
var html = "<div>" +
    "<p>你好呀</p>" +
    "<p>nifdkslafjkdlsa</p>" +
    "<img src='图片地址1' alt=''>" +
    "<p>1223323333</p>" +
    "<img src='图片地址2'>" +
    "</div>";
// 替换
var output = html.replace(/(<img.*?<\\/img>)|(<img .*?\\/?>)/gi, "");
console.log(output);
</script>

之后无论做什么都不用担心img标签的干扰了

参考技术A 你这个表达式本身就是错误的,无法匹配追问

/]+>这个可以匹配到所有的标签啊

追答

反正我的匹配工具,包括在线匹配都无法匹配

追问

 不知道阁下说的啥名堂,我的问题是:“

如何用正则表达式匹配除了<img/>标签的所有其他标签


js正则匹配替代指定字符(根据img标签的src中的命名规则,用正则表达式替换成下面格式的文字)

刚恢复方法<img src="arclist/em_4.gif">法规法规和福建<img src="arclist/em_23.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户
刚恢复方法<img src="arclist/em_8.gif">法规法规和福建<img src="arclist/em_3.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户
刚恢复方法<img src="arclist/em_12.gif">法规法规和福建<img src="arclist/em_13.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户
刚恢复方法<img src="arclist/em_14.gif">法规法规和福建<img src="arclist/em_3.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户

转换成:

刚恢复方法【em_4】法规法规和福建【em_23】共和国环境观看【em_1】活该活该客户
刚恢复方法【em_8】法规法规和福建【em_3】共和国环境观看【em_1】活该活该客户
刚恢复方法【em_12】法规法规和福建【em_13】共和国环境观看【em_1】活该活该客户
刚恢复方法【em_14】法规法规和福建【em_3】共和国环境观看【em_1】活该活该客户

参考技术A var str='你的字符串';
var reg=/<img[\s\S]+\/?>/g;
str=str.replace(reg,'');
str即是你的需要结果

以上是关于如何用正则表达式匹配除了img标签的所有其他标签 匹配所有html标签我知道: /<[^>]+>/g 关键排除img标签的主要内容,如果未能解决你的问题,请参考以下文章

java正则表达式匹配img标签并替换

如何用正则表达式在JS中匹配出相应的拓展名?

匹配img标签 js正则表达式

js正则匹配替代指定字符(根据img标签的src中的命名规则,用正则表达式替换成下面格式的文字)

js正则匹配替代指定字符(根据img标签的src中的命名规则,用正则表达式替换成下面格式的文字)

匹配html 代码中的所有图片标签的正则表达式,取出所有图片标签,去掉其他标签