正则匹配html开始标签和结束标签
站长网2023-07-02 10:22:145阅
HTML标签是支持嵌套的,怎么能够找到指定标签相对应的闭合标签是最重要的问题。
思路:先匹配最前面的起始标签,假设是div(<div),接着一旦遇到嵌套div,就“压入堆栈”,后面如果遇到div闭合标签了,就“弹出堆栈”。如果遇到闭合标签的时候,堆栈里面已经没有东西了,那么匹配结束,此结束标签为正确的闭合标签。
1、匹配任意闭合HTML标签的正则表达式
- <(?<HtmlTag>[\w]+)[^>]*?>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>
2、如果只想匹配div标签,可以使用下面的正则表达式:
- <(?<HtmlTag>div)[^>]*?>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>
3、如果想同时匹配多个HTML标签,可以使用下面的正则表达式
- <(?<HtmlTag>(div|span|h1))[^>]*?>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>
4、如果想匹配包含ID的标签,可以使用下面的正则表达式:
- <(?<HtmlTag>[\w]+)[^>]*\s[iI][dD]=(?<Quote>["']?)footer(?(Quote)\k<Quote>)[^>]*?(/>|>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>)
0005
评论列表
共(0)条相关推荐
手机放口袋一定要关闭这个功能,很多人还不知道,看完涨知识了
站长网2023-07-30 10:07:090002一些生活中用得着的尺寸参考对照图
站长网2023-07-30 15:20:590001ps婚纱照快速抠图换背景视频:通道转换蒙版编辑颜色
ps婚纱快速抠图视频|ps通道转换蒙版视频|ps蒙版颜色编辑视频|ps婚纱照换背景视频本视频教程由部落窝教育分享。站长网2023-07-27 15:50:070000ps动态融球特效视频:边缘模糊效果色阶调色混合颜色带调整技巧
ps动态融球特效视频|ps边缘模糊效果视频|ps色阶调色技巧视频|ps混合颜色带调整视频本视频教程由部落窝教育分享。站长网2023-07-28 15:36:280000被冷落的强大函数SUBTOTAL 常见用法一览
动图所示,只显示筛选后数据的总和。用得着的朋友可以了解一下,只需一个简单的函数就可以实现。SUBTOTAL这个函数本身没有运算规则。第一参数输入1或101,实现函数AVERAGE的功能第一参数输入2或102,实现函数COUNT的功能第一参数输入3或103,实现函数COUNTA的功能……总共可以实现11个其他函数的功能。那么,用SUBTOTAL和用这些函数本身有什么不同呢?站长网2023-07-27 11:10:320001