首页 > 代码库 > javascript正则表达式:匹配所有html标签
javascript正则表达式:匹配所有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.
javascript正则表达式:匹配所有html标签
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。