假设我有一个如下的网址
url = 'https://www.advertise-example.com/ads/2022/presents'
现在我正在尝试2022
从上面的 url 中获取整数值。我们可以在这里使用列表切片,但是整数值可以增加,所以我使用了正则表达式但无法得到确切的结果,谁能告诉我如何做这个
提前致谢........
>>> import re
>>> url = 'https://www.advertise-example.com/ads/2022/presents'
>>> int(re.search(r'\d+', url).group())
2022
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()]
这是一个不使用正则表达式的解决方案
>>> 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