这是关于文本模式的多行正则表达式模式的问题的后续,但我需要它作为 python 脚本的一部分工作。
这个正则表达式模式:
<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:<\/strong>\r?\n((?:(?!<p><strong>)^[^\r\n]+\r?\n)+)
用于在数百页中查找 Obrador 的所有文本,如下例所示:
<p><strong>ROGELIO JIMÉNEZ PONS:</strong> Quisiera</p>
<p>Text here...</p>
<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:</strong>Some words here.</p>
<p>Text here...</p>
<p>Text here...</p>
<p><strong>PREGUNTA:</strong>Some question here.</p>
<p>Text here...</p>
<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:</strong>Some words here.</p>
<p>Text here...</p>
<p>Text here...</p>
<p>Text here...</p>
<p><strong>INTERLOCUTOR:</strong>
你可以在这里看到测试
但是当我将它放入以下 python 脚本时,它返回一个空列表:
regex_match = re.compile(r'<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:<\/strong>\r?\n((?:(?!<p><strong>)^[^\r\n]+\r?\n)+)', re.MULTILINE)
text_obrador = regex_match.findall(str(all_text))
print(text_obrador)
只是为了测试它,我尝试了以下方法,它只返回了第一个 p 标签内容:
regex_match = re.compile(r'<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:<\/strong>\r?.+', re.MULTILINE)