Python 正则表达式获取了太多信息
我的剧本:Python 正则表达式获取了太多信息,python,regex,Python,Regex,我的剧本: def fetch_online(): pattern = re.search('(<span class="on">)(.*)(</span>)', data) return pattern.group(2) print fetch_online() 但是,运行时,输出如下所示: 5879</span> users online 我应该如何解决这个问题,使它只在第一个之前获取数据?使用非贪婪量词:.* 要了解更多关于非贪婪量
def fetch_online():
pattern = re.search('(<span class="on">)(.*)(</span>)', data)
return pattern.group(2)
print fetch_online()
但是,运行时,输出如下所示:
5879</span> users online
我应该如何解决这个问题,使它只在第一个之前获取数据?使用非贪婪量词:.* 要了解更多关于非贪婪量词的信息,请阅读下面的“懒惰而不是贪婪”一节
只是重申一下评论中已经说过的话,。在您的具体案例中,使用\d+。在更一般的方法中,选择非贪婪:
<span class="on">(.*?)</span>
跟我重复一遍:!根据项目的范围,是一个非常好的Python库,用于处理HTML.soup.findAll'span',{'class':'on'}[0].text
<span class="on">(.*?)</span>