需要使用re模块在Python中的href属性标签之间提取字符串。

我尝试了许多模式,例如:

patFinderLink = re.compile('\>"(CVE.*)"\<\/a>')


示例:我需要从以下位置提取标签之间的内容(在本例中为“ CVE-2010-3718”):

<pre>
<a href="https://www.redhat.com/security/data/cve/CVE-2010-3718.html">CVE-2010-3718</a>
</pre>


我在这里做错了什么?任何意见是极大的赞赏。先感谢您。

太阳

最佳答案

我很惊讶没有人建议使用BeautifulSoup:

这是我要怎么做:

from BeautifulSoup import BeautifulSoup
import re

hello = """
<pre>
<a href="https://www.redhat.com/security/data/cve/CVE-2010-3718.html">CVE-2010-3718</a>
<a href="https://www.redhat.com/security/data/cve/CVE-2010-3710.html">CVE-2010-3718</a>
<a href="https://www.redhat.com/security/data/cve/CVE-2010-3700.html">CVE-2010-3718</a>
</pre>
"""

target = re.compile("CVE-\d+-\d+.html")
commentSoup = BeautifulSoup(hello)
atags = commentSoup.findAll(href=target)
for a in atags:
    match = re.findall(target, a['href'])[0]
    print match


结果:

CVE-2010-3718.html
CVE-2010-3710.html
CVE-2010-3700.html

09-25 20:55