匹配此模式的正则表达式模式,其中内部标头标记可以包含id
,class
等任意数量的属性,并且标头标记内可以包含零个或多个强标记?我想匹配以下模式:
<h5 id="some_id"><strong><strong><strong>SOME_TEXT</strong></strong></strong></h5>
答案 0 :(得分:0)
您可以尝试:
match = re.search(r"<(h[1-5])\b(?:[^>]|>[<\s])*>([^<]+)(?:[^<]|<(?!/\1))*</\1>",
subject, re.IGNORECASE)
if match:
result = match.group(2)
else:
result = ""
我会在一秒内添加一个regex101来展示它是如何工作的。
这是:https://regex101.com/r/du8PCn/1(匹配的第2组)。
编辑:我对Python并不了解,但我相信如果您将html字符串与html字符串匹配,则需要使用上面的re.findall
或re.finditer
其中有许多标题(而不是re.search
)。