<script>
//匹配HTML标签
方法一:
var str = '<p class="odd" id="odd">123</p>';
var pattern = /<\/?[a-zA-Z]+(\s+[a-zA-Z]+=".*")*>/g;
console.log(str.match(pattern));
方法二:
var str = '<p class="odd" id="odd">123</p>';
var pattern = /<[^>]+>/g;
console.log(str.match(pattern));
方法三:
var str = '<input type="text" value=">" name="username" />';
var pattern = /<(?:[^"'>]|"[^"]*"|'[^']*')*>/g;
console.log(str.match(pattern));
说明:()表示捕获分组,()会把每个分组里的匹配的值保存起来,使用$n(n是一个数字,表示第n个捕获组的内容)
(?:)表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来
没有引用的需求的话,采用非捕获性分组,更为简洁;
方法四:
var str = '<input type="text" value=">" name="username" />';
var pattern = /<(?:[^"'>]|(["'])[^"']*\1)*>/g;
console.log(str.match(pattern));
</script>
用正则表达式匹配HTML标签
猜你喜欢
转载自blog.csdn.net/qq_42209411/article/details/83152257
今日推荐
周排行