正则表达式:简单匹配

2024-03-28 10:41:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我没有regex的经验,我尝试过几次,但从未坚持过。你知道吗

我正在使用BeautifulSoup取消python中的一个站点,并且遇到了img标记,这些标记具有id属性,可以用来提取我想要的数据。但是我需要一个正则表达式来提取所有与id约束匹配的数据。约束条件如下:

img-%d:%d是一个从0到255的整数

<img id="img-1" ...> <img id="img-2" ...> <img id="img-3" ...> ... <img id="img-25" ...> ... <img id="img-255" ...>

在regex中,如何编写表达式来查找img-%d。 我知道\d用于匹配单个数字,但我有300个可能的数字,[0-9]在这里不起作用。你知道吗

代码很简单,只是缺少正则表达式。你知道吗

#regex_needed = re.comple( 'expresion here )
soup.find_all('img', attrs={'id': regex_needed})

Tags: 数据代码标记idimg属性站点表达式
2条回答

如果您想要一个比nu11p01n73R更具体的正则表达式,它只适用于0-255,请尝试以下模式:

\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b

Source

你可以用正则表达式

img-\d{1,3}

至少匹配1个字符,最多匹配3个字符

import re

pat=re.compile(r'img-\d{1,3}')

soup.find_all('img', attrs={'id': pat}

相关问题 更多 >