gpt4 book ai didi

python - 如何正则表达式直到最后一次出现?

转载 作者:行者123 更新时间:2023-11-30 22:45:48 24 4
gpt4 key购买 nike

我正在使用Python,我需要正则表达式来获取网页的联系人链接。所以,我做了<a (.*?)>(.*?)Contacts(.*?)</a>结果是:

href="/ru/o-nas.html"  id="menu263" title="About">About</a></li><li><a href="/ru/photogallery.html" id="menu645" title="Photo">Photo</a></li><li  class="last"><a href="/ru/kontakt.html" class="last" id="menu583" title="">Contacts

,但我需要最后一个 <a ...喜欢

href="/ru/kontakt.html" class="last" id="menu583" title="">Contacts

我应该使用什么正则表达式模式?

Python 代码:

match = re.findall('<a (.*?)>(.*?)Contacts(.*?)</a>', body)
if match:
for m in match:
print ''.join(m)

最佳答案

由于您正在解析 HTML,我建议使用 BeautifulSoup

# sample html from question
html = '<li><a href="/ru/o-nas.html" id="menu263" title="About">About</a></li><li><a href="/ru/photogallery.html" id="menu645" title="Photo">Photo</a></li><li class="last"><a href="/ru/kontakt.html" class="last" id="menu583" title="">Contacts</a></li>'

from bs4 import BeautifulSoup
doc = BeautifulSoup(html)
aTag = doc.find('a', id='menu583') # id for Contacts link
print(aTag['href'])
# '/ru/kontakt.html'

关于python - 如何正则表达式直到最后一次出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41101429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com