2024-10-16 08:15:44
Html标签是支持嵌套的,怎么能够找到指定标签相对应的闭合标签是最重要的问题。
思路:先匹配最前面的起始标签,假设是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>>)
2024-10-16 16:22:23
2024-10-16 20:27:25
2024-10-16 10:51:04