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

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抽象语法树的工具时,不断摸索出来。如果您有更好的写法,欢迎交流。


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

相关文章

Javascript | 3种 HTML 转换为纯文本的方法

前几天,我手里的一个项目需要将富文本的所有 html 标签全部删除,得到纯文本后再存储到数据库中。在一系列得搜索操作之后,我找到了实现这个目的的几种方法,在这里我分享给大家,当你遇到同样的情况兴许也能...

什么是HTML

1 什么是HTMLHTML 是用来描述网页的一种语言。HTML 是一种在 Web 上使用的通用标记语言。HTML 允许你格式化文本,添加图片,创建链接、输入表单、框架和表格等等,并可将之存为文本文件,...

HTML 简介

HTML 简介HTML 实例<!DOCTYPE html> <html> <head> <meta charset="utf-8"> &...

是什么组成了html?html组成元素有哪些?

网页html的组成是由:文字、图片、音频、视频、超链接组成。1-文字由什么组成?文字标签在“body”标签下,由文本标签比如:标题<h1>~<h6>,段落<p>&l...

什么是 HTML

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

HTML DOM Input Text 对象

Input Text 对象 Input Text 对象代表 HTML 中 type="text" 的 <input> 元素。 访问 Input Text 对象你可以通过 getEle...