1、匹配HTML开始标签及结束标签
这段正则,为什么比网上搜索的复杂一些呢?主要是加了匹配特测情况的问题,避免BUG。
举例:<div debug=”>” ></div>
const reg_tags = /<((["'])+.*?2|[^>])+>/g;
2、匹配HTML开始标签
const reg_tag_start = /<[^\/]((["'])+.*?2|[^>])+>/
3、匹配HTML结束标签
const reg_tag_end = /<[\/]+[^<>]*>*/
4、匹配HTML标签属性
const reg_tag_attrs = /(?<=s)[w:-]+(=(["']).*?2)*/g;
5、获取HTML标签属性名与值
const reg_tag_attr_info = /(^[^=]+|(?<=(['"])).*?(?=2))/g;
6、获取HTML标签的名称
const reg_tag_name = /(?<=<[/s]*)w+(?=(s+(?![s=])|>))/;
7、匹配HTML文档类型声明
const reg_doctype = /<!doctype[^<>]*>*/i
8、匹配HTML文档注释
const reg_tag_note = /<!.*?>/
9、匹配HTML文本内容
const reg_text = /(?<=<[w]+.*?>)[sS]*?(?=</[w]*?>)/
10、其它
//g 正则表达式后面加g,表示全局匹配。
//i 正则表达式后面加i,表示不区分大小写。
[u4e00-u9fa5],表示匹配中文。
[^x00-xffu4e00-u9fa5],表示匹配中文符号
以上正则表达式,是在写一个生成HTML抽象语法树的工具时,不断摸索出来。如果您有更好的写法,欢迎交流。
人人为我,我为人人,欢迎您的浏览,我们一起加油吧。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件举报,一经查实,本站将立刻删除。