Python:找不到文本
此正则表达式:Python:找不到文本,python,regex,Python,Regex,此正则表达式: <span style=\"color: #008000;\" data-iceapw=\"1\">HIGH<\/span> 尝试查找以下文本: <span style="color: #008000;" data-iceapw="1">HIGH<\span> <span style="color: #008000;"
<span style=\"color: #008000;\" data-iceapw=\"1\">HIGH<\/span>
尝试查找以下文本:
<span style="color: #008000;" data-iceapw="1">HIGH<\span>
<span style="color: #008000;" data-iceapw="1">HIGH<\span>
在类似这样的代码片段中,例如:
<p data-iceapw="9" data-iceapc="4">Factual Reporting: <strong data-iceapw="1" data-iceapc="1"><span style="color: #008000;" data-iceapw="1">HIGH</span><br />
</strong>World Press Freedom Rank: <span style="color: #ff9900;" data-iceapw="2" data-iceapc="1"><strong data-iceapw="2">USA 45/180</strong></span></p>
如果我们使用此网站进行测试,我们可以检查是否正确:
但是,当我尝试对Python执行同样的操作时,Python没有检测到以下文本:
<span style="color: #008000;" data-iceapw="1">HIGH<\span>
<span style="color: #008000;" data-iceapw="1">HIGH<\span>
我尝试检测该文本的python代码是:
re.search('<span style=\"color: #008000;\" data-iceapw=\"1\">HIGH<\/span>', str(soup), re.IGNORECASE)
我做错了什么
编辑一:
我不明白为什么这个正则表达式工作得很好:
re.search('<strong><span style=\"color: #008000;\">HIGH<br>\n<\/span><\/strong>', str(soup), re.IGNORECASE)
帮我找到我要找的代码。但是,另一个正则表达式不起作用:
re.search('<span style=\"color: #008000;\" data-iceapw=\"1\">HIGH<\/span>', str(soup))
当我试图找到这个:
<span style="color: #008000;" data-iceapw="1">HIGH</span>
在此代码中:
<p data-iceapw="9" data-iceapc="4">Factual Reporting: <strong data-iceapw="1" data-iceapc="1"><span style="color: #008000;" data-iceapw="1">HIGH</span><br />
</strong>World Press Freedom Rank: <span style="color: #ff9900;" data-iceapw="2" data-iceapc="1"><strong data-iceapw="2">USA 45/180</strong></span></p>
您已经有了一个soup对象,为什么不使用它来搜索呢 从bs4导入BeautifulSoup 数据收集\ 不是这个 高的 也不是这个 ' soup=BeautifulSoupdata,html.parser matches=soup。选择span[data iceapw='1'] 对于匹配中的跨度: printspan
\/在您的正则表达式中与字符串中的\不匹配。哪个HTML以反斜杠结尾?@JoséCarlos在Python未检测到我之后的部分中此文本:。。部分是在试图找到这个文本之后:所以不清楚你的实际字符串是什么。我不明白,因为在其他正则表达式中,我用了scape/它对我有效,但在这种情况下它不起作用。哪种方法是正确的?可能发生的情况是,BeautifulSoup将属性存储为无序字典,因此,在通过strsoup呈现为文本时,顺序被交换。搜索HTML或XML时,使用正则表达式不是首选方法的另一个原因。