Python 在最后一次出现之前,正则表达式是多少?

Python 在最后一次出现之前,正则表达式是多少?,python,regex,Python,Regex,我使用python,我需要正则表达式来获取网页的联系人链接。所以,我制作了(.*)联系人(.*),结果是: 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="l

我使用python,我需要正则表达式来获取网页的联系人链接。所以,我制作了
(.*)联系人(.*)
,结果是:

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
我应该使用什么正则表达式模式?

python代码:

match = re.findall('<a (.*?)>(.*?)Contacts(.*?)</a>', body)
if match:
    for m in match:
        print ''.join(m)
match=re.findall('(.*)触点(.*),主体)
如果匹配:
对于比赛中的m:
打印“”。加入(m)

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

#问题中的示例html
html='
  • ' 从bs4导入BeautifulSoup doc=BeautifulSoup(html) aTag=doc.find('a',id='menu583')#联系人链接的id 打印(aTag['href']) #“/ru/kontakt.html”
    试试BeautifulSoup

    from BeautifulSoup import BeautifulSoup
    import urllib2
    import re
    links = []
    urls  ['www.u1.com','www.u2.om'....]
    for url in urls:
        page = urllib2.urlopen(url)
        soup = BeautifulSoup(page)
        for link in soup.findAll('a'):
            if link.string.lower() == 'contact':
                links.append(link.get('href'))
    

    为什么不使用?您是否忘记了转义…(.*)联系人(.*)@bhaveshghodasra:正斜杠不是特殊的正则表达式字符,不需要转义。实际的预期输出是什么?谢谢您的回答。我不能使用id参数,因为我需要解析很多网站。一种方法是通过word
    查找联系人
    是的,您可以通过搜索节点中包含的内容(例如案例中的联系人)来查找节点。
    text='Contacts'
    有效!如果我需要找到一个包含列表中一个单词的
    a
    ,该怎么办?@sirjay如果是列表,你可以简单地使用
    soup.find('a',text=['text1',text2'])
    @sirjay:如果你查看文档,你可以在
    text
    string
    (对于较新版本)字段。这为您提供了筛选元素的灵活性。根据要求进行修改说明您正在使用未开发和维护的
    BeautifulSoup
    version 3
    # 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'
    
    from BeautifulSoup import BeautifulSoup
    import urllib2
    import re
    links = []
    urls  ['www.u1.com','www.u2.om'....]
    for url in urls:
        page = urllib2.urlopen(url)
        soup = BeautifulSoup(page)
        for link in soup.findAll('a'):
            if link.string.lower() == 'contact':
                links.append(link.get('href'))