python

正则匹配HTML标签及内容

文章暂存

systemime
2021-05-04
2 min

摘要.

# 正则匹配 HTML 标签及内容

/<iframe(([\s\S])*?)<\/iframe>/
复制代码

这里我匹配的是 iframe 标签及内容,若要匹配其他标签就替换就可以了; 还可以匹配指定属性的 html 标签:

/<div id="mydiv"(([\s\S])*?)<\/div>/
复制代码

# 匹配所有闭合标签

/<\/?.+?>/gi
复制代码

# 匹配所有标签及内容

/<[\w\d]+(([\s\S])*?)<\/[\w\d]+>/

# 匹配所有 img 标签

/<img.*?src="(.*?)".*?\/?>/gi
复制代码

# 匹配所有闭合标签即内容

/<[^>]+>/
复制代码

# 正则连续匹配写法

content
    .replace(/<p(.+?)?class="g-bulb handling"(.+?)?>/, '<p$1$2>')
    .replace(/<p(.+?)?class="handling g-bulb"(.+?)?>/, '<p$1$2>')
    .replace(/<([a-z]+?)(?:\s+?[^>]*?)?>\s*?<\/\1>/ig, '')
    .replace(/(<\/?u.*?>)/gi, '')
复制代码

# 其他正则匹配

汉字:^[\u4e00-\u9fa5]{0,}$
英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符:^.{3,20}$
由26个英文字母组成的字符串:^[A-Za-z]+$
由26个大写英文字母组成的字符串:^[A-Z]+$
由26个小写英文字母组成的字符串:^[a-z]+$
由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
可以输入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+
禁止输入含有~的字符:[^~\x22]+
复制代码

安装掘金浏览器插件

打开新标签页发现好内容,掘金、GitHub、Dribbble、ProductHunt 等站点内容轻松获取。快来安装掘金浏览器插件获取高质量内容吧! https://juejin.cn/post/6844904048194224135

上次编辑于: 5/20/2021, 7:26:49 AM