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

yumo6666个月前 (04-27)技术文章88

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是什么

云端源想云端源想it培训,帮你轻松拿offer”嗨~大家好,我是学长今天的你过得还好吗?- 2023.03.03 -一、HTML是什么?HTML ,全称“Hyper Text Markup Langu...

前端入门——html 表单控件使用

上篇介绍了表单的使用,表单有很多控件,比如输入框,密码框、文本域,按钮等。按类型可分如下:输入类控件菜单类控件输入类组件 —— input此类控件有很多种类型,使用<input type=...

Python爬虫:用Beautifulsoup爬取html文本数据

Beautifulsoup介绍:是一个高效的网页解析库,可以从HTML或XML文件中提取数据支持不同的解析器,比如,对HTML解析,对XML解析,对HTML5解析就是一个非常强大的工具,爬虫利器一个灵...

「前端」HTML之结构

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

HTML实体编码及解码

本文中代码部分编码发布后会解码,以图片为准HTML 实体编码是指什么HTML 实体编码是一种在 HTML 文档中表示特殊字符的方法。由于 HTML 中某些字符具有特殊的含义,例如小于号(<)、大...