新手Python/Regex:使用正则表达式在<a>标签之间拉取字符串

use*_*603 1 python regex beautifulsoup

需要使用re模块在Python中的href属性标记之间拉取字符串.

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

patFinderLink = re.compile('\>"(CVE.*)"\<\/a>')
Run Code Online (Sandbox Code Playgroud)

示例:我需要从以下标签中拉出标签之间的内容(在本例中为" CVE-2010-3718 "):

<pre>
<a href="https://www.redhat.com/security/data/cve/CVE-2010-3718.html">CVE-2010-3718</a>
</pre>
Run Code Online (Sandbox Code Playgroud)

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

太阳

sup*_*een 6

你需要使用正则表达式吗?我不认为你这样做,你不能用正则表达式解析SGML,因为SGML本身不是常规的,请参阅这个着名的stackoverflow答案的原因:https://stackoverflow.com/a/1732454/88123

无论如何.您应该使用lxmlPython模块及其xpath实现.xpath支持选择以文本开头的文本.

在这种情况下XPath将是//h1/text().

或者,使用BeautifulSoupPython模块.