gpt4 book ai didi

python - 如何获得比赛号码 n ?正则表达式

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

我有这个 html 文本:

<div>
<div class="item1"> value 1 </div>
\n
<div class="item1"> value 2 </div>
\n
<div class="item1"> value 3 </div>

</div>

div标签之间有未知文本:

我想得到 value 3

我试过这个:re.findall(r'class="item1".*?{3}>(.*?)</div>',x,re.S)

但是我得到了无效的重复错误,因为我使用了 {3},怎么才能得到第三个匹配项?

最佳答案

通过 BeautifulSoup css selectors .

>>> from bs4 import BeautifulSoup
>>> s = """<div>
<div class="item1"> value 1 </div>

<div class="item1"> value 2 </div>

<div class="item1"> value 3 </div>

</div>"""
>>> soup = BeautifulSoup(s)
>>> soup
<html><body><div>
<div class="item1"> value 1 </div>
<div class="item1"> value 2 </div>
<div class="item1"> value 3 </div>
</div></body></html>
>>> [i.string for i in soup.select('div > div[class~=item1]')[-1]]
[' value 3 ']
>>> [i.string.strip() for i in soup.select('div > div[class~=item1]')[-1]]
['value 3']

正如其他人所说,不要使用正则表达式解析 html 文件。

>>> re.findall(r'<div\s+class="item1">\s*(.*?)\s+</div>', s)[-1]
'value 3'

关于python - 如何获得比赛号码 n ?正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27203014/

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