正则表达式匹配HTML标签之间的内容
<div class='view-field view-data-node-title'><a href="/node/3856">[Number] 3ax [5Href] URL,cc#aa #bs/3c6h.</a></div>
html标签内容有“,”、"."、"["、"]"、"/"这些符号
我要匹配得到结果:[Number] 3ax [5Href] URL,cc#aa #bs/3c6h.
哪位好心人愿意花点时间帮我解决了,我的水平写不出来(弄了三个小时了就得到这么一个“>[a-zA-Z1-9\\s]+<”...匹配不到),谢谢了。
忘了说了,标签之间只有英文,div和a标签不是固定的,可能是其他的标签.......请测试一下能否通过(C#使用的) 展开
(?<=>)[^<>]+(?=<)
假如html标签里面有一句:
String a = "<style type=\"text/css\"> div \n" +
"{ margin: 0; padding: 0; outline: 0; }</style>";
我如何把这一句取出来呢,包括标签。
用正则表达式:<style([\\s\\S]*)</style>
扩展资料:
正则表达式匹配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标签都能匹配,可以去掉标签这样实现,也能直接获取之间的内容这样实现
你写几个边界的例子,
这样说不容易理解.