python正则表达式仅检索一组

标签 python regex

我对正则表达式只有一点经验,但现在我遇到了一些问题。

我必须检索 . 之间的字符串。

这是一个示例:

Categories: <a href="/car/2/page1.html">2</a>, <a href="/car/nissan/">nissan</a>,<a href="/car/all/page1.html">all</a>

这是我的小正则表达式:

re.findall("""<a href=".*">.*</a>""",string)

嗯,它有效,但我只想要 之间的字符串,而不是 href, 那么我该怎么做呢?

谢谢。

最佳答案

使用括号形成捕获组:

'<a href=".*">(.*)</a>'

您可能还想使用 non-greedy量词以避免匹配远远超出您的预期。

'<a href=".*?">(.*?)</a>'

结果:

['2', 'nissan', 'all']

或者更好的是,考虑使用 HTML 解析器,例如 BeautifulSoup .

关于python正则表达式仅检索一组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3756429/

相关文章:

python - 查找 numpy 数组中某个值的所有序列(以及最长序列)

python - 如何知道 Matplotlib 为散点图使用了多少个数据点

javascript - 在 JavaScript 中删除除 last 之外的特定单词?

VBA 中的正则表达式 : Break a complex string into multiple tokens?

javascript - 正则表达式模式不只验证一个字符

swift : Regex for remove all inline HTML attributes

python - Spacy nlp(text) 线程安全吗?

python - 克隆模块并对副本进行更改

python - Python 中的简单端口扫描器 - 错误 : an integer is required

javascript - 限制正则​​表达式中的字符总数