正则匹配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)条相关推荐
SAP分割评估的概念、应用场景及其系统实现介绍
概念介绍在了解SAP分割评估前,先了解下SAP的评估范围,我们知道在SAP中评估范围可以设置为公司层级或工厂层级。如果评估范围设置为公司层级,那么在公司下的同一物料都会使用相同的物料评估方法,比如,同一物料要么使用标准价,要么使用移动平均价。站长网2023-07-27 09:25:070006电脑密码忘了怎么解除?分享4个好方法!
我的电脑设置了一个密码,但刚刚想开电脑的时候怎么也想不到那个密码了!电脑密码忘了怎么解除?有什么好的方法吗?为电脑设置一个密码可以更好地保护我们的电脑数据。但有时候我们在输入密码时可能会忘记密码,这将导致我们无法成功开启电脑。电脑密码忘了怎么解除?今天小编分享几个实用的方法。方法一:使用密码提示使用密码开机时,忘了开机密码如何打开电脑?可以尝试使用密码提示。具体操作如下:站长网2023-07-30 08:50:120000【Excel函数教程】用TEXTJOIN函数可以实现多对多匹配?
回复2016获得office2016的下载链接回复2021获得office2021的安装攻略(欢迎转发扩散、留言互动和点一下“在看”!)所谓多对多匹配,就是满足条件的数据不止一条,例如:每个部门都有很多人,假如指定一个部门匹配成员名称,就是一对多匹配,如果要匹配的部门是多个,那就变成了多对多匹配。多对多匹配的结果有两种呈现方式,结果在一个单元格或者结果在多个单元格。站长网2023-07-29 08:16:090000单细胞 芯片 转录组测序的数据挖掘文章一比一复现
自己造轮子(生信技能树优秀学员“细心的网友”)马拉松授课线上直播课程,最近的一期是5月8号(今晚七点半)开课哦:生信入门&数据挖掘线上直播课5月班站长网2023-07-27 12:40:220000Excel如何排序?掌握3种排序方法!
我是个刚开始学习Excel的新手,对很多Excel的知识都不太熟悉。今天使用Excel进行表格排序时我又遇到了一些问题。请问Excel如何排序呢?希望给我一些建议。在Excel中,排序是一种常见且有用的数据处理操作,它可以帮助您按照特定的规则或条件对数据进行排序。但很多刚开始使用Excel的朋友可能不知道应该如何进行排序。Excel如何排序?分享3个实用的Excel排序方法。方法1:基本排序站长网2023-07-30 09:36:240000