常用正则表达式汇总整理——HTML篇

yumo6668个月前 (04-27)技术文章96

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]+.*?>)[\s\S]*?(?=</[\w]*?>)/


10、其它

//g 正则表达式后面加g,表示全局匹配。

//i 正则表达式后面加i,表示不区分大小写。

[\u4e00-\u9fa5],表示匹配中文。

[^\x00-\xff\u4e00-\u9fa5],表示匹配中文符号


以上正则表达式,是在写一个生成HTML抽象语法树的工具时,不断摸索出来。如果您有更好的写法,欢迎交流。


人人为我,我为人人,欢迎您的浏览,我们一起加油吧。

相关文章

什么是 HTML

什么是 HTML?HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言,而是一种标记语言 (marku...

前端入门——什么是HTML,如何快速学习

上一篇介绍了网页的基本结构,那如何编写网页的内容? 前提是要学会HTML标签的用法,本篇主要介绍HTML标签是什么,如何学习,需要大概多长时间学习。本篇主要基于html5介绍,html5 是最新版的标...

什么是html?

什么是html?在网站中我们会遇见很多的代码,html代码,JavaScript,php,css,那它们到底是什么呢?HTML负责放你需要显示的内容,PHP可以输出可变化的HTML。CSS可以让你的H...

「前端」HTML之结构

今天继续为大家分享前端的知识,如果对前端比较感兴趣的小伙伴,可以关注我,我会更大家继续分享更多与前端相关的内容,当然如果内容中又不当的或者文字错误的,欢迎大家在评论区留言,我会及时修改纠正。1.初识H...