我有以下正则表达式来查找匹配的标签:
<(\w+)(\s*[^>]*)>[^<]+?<\/\1\s*>
这是非常基本的,但是基本上我正在尝试捕获标签(例如em
),并确保该项目包含在同一标签中。以下是一些示例:https://regex101.com/r/1R1qzh/1。但是,如您所见,它也可以匹配以下内容:
<h5>tommy</h>
为什么会这样?此简化的html元素匹配的正确正则表达式是什么?要测试的输入为:
<h5 size="12">tommy</h> # no
<h5>tommy</h5> # yes
<h5 >tommy</h5> # yes
<h5 size="12" >tommy</h5> # yes
<h5 >tommy</h5> # yes