0

假设我有一个如下的网址

url = 'https://www.advertise-example.com/ads/2022/presents'

现在我正在尝试2022从上面的 url 中获取整数值。我们可以在这里使用列表切片,但是整数值可以增加,所以我使用了正则表达式但无法得到确切的结果,谁能告诉我如何做这个

提前致谢........

4

3 回答 3

3
>>> import re
>>> url = 'https://www.advertise-example.com/ads/2022/presents'
>>> int(re.search(r'\d+', url).group())
2022
于 2012-07-16T10:59:20.267 回答
0
from urlparse import urlsplit
import re

url = 'https://www.advertise-example.com/ads/2022/presents'
spliturl = urlsplit(url)
int(re.search(r'\d+', spliturl.path).group())

可能看看re.findall您是否期望或想要处理更多 > 1 位的 url ......

或者,不使用 re:

digits = [int(el) for el in spliturl.path.split('/') if el.isdigit()]
于 2012-07-16T11:12:24.357 回答
0

这是一个不使用正则表达式的解决方案

>>> import itertools
>>> url = 'https://www.advertise-example.com/ads/2022/presents'
>>> int(next(''.join(g) for k, g in itertools.groupby(url, str.isdigit) if k))
2022
于 2012-07-16T11:13:27.500 回答