Heim  >  Fragen und Antworten  >  Hauptteil

python 字符串匹配问题

想匹配html = <p class="back fl"><a href="javascript:void(0);" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='/u012582664/article/details/56845037';"><span><i class="fa fa-arrow-left"></i></span><em>安装最新版python</em></a></p><p class="forward fr"><a href="javascript:void(0);" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='/u012582664/article/details/59120585';"><em>各种数据库的注释</em><span><i class="fa fa-arrow-right"></i></span></a></p>中的‘56845037’和‘59120585’,尝试用正则:

pattern_l = r'''<a href="javascript:void(0);" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='(.+?)';">'''
re.findall(pattern_l,html)

结果不成功。返回为空,有用:

 soup = BeautifulSoup(html, "lxml")
        print(soup.find_all(onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='/u012582664/article/details/(.+?)';"))
        

还是返回空,请教各位怎么写才行,是哪里出了问题

ringa_leeringa_lee2719 Tage vor453

Antworte allen(2)Ich werde antworten

  • PHP中文网

    PHP中文网2017-04-18 10:34:04

    前面那一大堆东西其实用不着匹配。

    匹配这些就够了:

    re.findall(r"location.href='/u012582664/article/details/(\d+)",html)

    Antwort
    0
  • 迷茫

    迷茫2017-04-18 10:34:04

    括号转义下试试?小括号和中括号在正则里有特殊意义

    Antwort
    0
  • StornierenAntwort