欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用正则表达式:匹配一段html字符串中的所有标签

程序员文章站 2022-04-15 16:12:17
在面试的过程中遇到一个这样的题目: 比如有一段HTML字符串: 其实匹配html标签的正则表达式很短,如下: ]+ 就这样,没了?是的。你惊讶吗? 这个正则表达式也是收集于网络,但是我可以看懂,首先,html标签肯定是以符号结束(不管是不是自闭合),只是中间有点纠结,可能有字符,数字,引号,换行符— ......

在应用中,比如有一段html字符串:


var string='<div class"test">test a code</div><em>i am a girl.</em>'; 需要匹配html 字符串中所有标签,用正则表达式匹配并且替换掉所有的标签。

html标签有<h1></h1>这种成对的,也有<br/>这种自闭合的,更多的是<img style=”….” width=”22″ />这种混合了很多字符的。那要怎么把他们都匹配呢?


其实匹配html标签的正则表达式很短,如下:


<[^>]+>

就这样,没了?是的。你惊讶吗?

这个正则表达式也是收集于网络,但是我可以看懂,首先,html标签肯定是以<符号开始的,以>符号结束(不管是不是自闭合),只是中间有点纠结,可能有字符,数字,引号,换行符——但是,却万万没有>,因为有它的话html标签就结束了,所以正则表达式中间是[^>]+,表示“除了>符号外的任何1个以上的字符”。

举例如下:


var string='<div class"test">test a code</div><em>i am a girl.</em>';


正则:


var reg=/<[^>]+>/gim;
string.replace(reg,""); 


输出:


test a codei am a girl.


文章转自:https://www.cnblogs.com/laneyfu/p/4195767.html