我遇到以下问题:我有一些HTML代码,我需要获取标记内容。我不想使用数百万个子字符串或类似的东西。我想使用正则表达式,但我遇到过使用类,ID,...或没有任何东西过滤标签的问题。这是我的正则表达式:
match = re.search('(?<=<span(.+)?>)(.*)(?=</span>)', '<span class="red">color</span>')
Python抛出以下错误
sre_constants.error: look-behind requires fixed-width pattern
我想从
获取内容<span class="red">color</span>
和
<span>color</span>
感谢大家的帮助!
答案 0 :(得分:1)
简单的答案:使用findall
,跳过后视并获取捕获组。
<span(.+)?>(.*?)</span>
但在很多情况下,会失败。例如。嵌套标签,包含文本&lt; / span&gt; 的字符串,依此类推......