我正在尝试使用正则表达式从html标记中提取文本。我可以从单个标签中提取文本,但是如果标签一个接一个地存在,我想提取连续文本。
示例(非连续文本):
sample_text = "<b><em>Excellent</em></b> work done by <b><em>Sam</em></b>"
re.findall("(?<=<b>)(.*?)(?=</b>)",sample_text)
>> [<em>Excellent</em>, <em>Sam</em>]
示例(连续文本)
sample_text = "<b><em>Excellent</em></b> work done by <b><em>Sam</em></b><b><em>Miller</em></b>"
re.findall("(?<=<b>)(.*?)(?=</b>)",sample_text)
这就是我得到的:
>> [<em>Excellent</em>, <em>Sam</em> ,<em>Miller</em>]
这是我的预期输出:
>> [<em>Excellent</em>, <em>Sam Miller</em>]
谢谢。