gpt4 book ai didi

python - 如何在 python 中获取多个正则表达式匹配项?

转载 作者:太空宇宙 更新时间:2023-11-04 06:05:34 25 4
gpt4 key购买 nike

我有这段文字:

 <div class="additional-details">
<div class="mark-container">
<input type="checkbox" id="comp-80174649" value="80174649"
data-heading-code="2550"/>
<label for="comp-80174649">???</label>
<a href="#" class="compare-link" id="compare-link-1"
data-compare="/80174649/2550/"
data-drop-down-id="compare-content-1"
data-drop-down-content-id="compare-content"
data-drop-down-class="drop-down-compare"
etc...
data-compare="/8131239/2550/"

我正在尝试抓取 data-compare="HERE"中的内容(我有多个匹配项)。

我知道如何在 C# 中使用 MatchCollection 执行此操作,但在 Python 中我对 re.search、re.match 很困惑,而且我注意到在 C# 中工作的正则表达式在 python 。

有人可以解释一下如何完成这项工作吗?

最佳答案

re.findall 可用于查找列表中的所有匹配项。

>>> import re
>>> s = '<div cla' # whole string here
>>> result = re.findall('data-compare="([\d/]+)"', s)
>>> print result
['/80174649/2550/', '/8131239/2550/']

解释

所需的输出如 '/80174649/2550/' 只有数字和正斜杠,所以我们将只针对它。

([\d/]+)中,[\d/]表示匹配任意一个数字(由\d表示)或正斜杠 /

然后 + 符号表示前面的模式 [\d/] 可以出现多次,因为我们确实有多个数字和 / .

封闭的括号意味着封闭的模式 [\d/]+ 应该只被捕获和返回。

关于python - 如何在 python 中获取多个正则表达式匹配项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com