如何匹配某些文本前面的数字序列但不返回文本,只返回数字序列?
例如,我们假设我有以下字符串:
url = "sampleurl/485734/abcdefgh/83275/"
我希望匹配单词sampleurl
之后的所有数字。到目前为止,我一直在使用以下代码
re.search("sampleurl/[0-9]+", url).group(0)[9:]
有效,但我假设有更好的方式,而不需要在最后使用[9:]
。
为了快速参考,我一直在使用regex101来检查正则表达式的验证。
答案 0 :(得分:2)
您可以在所需的部分周围放置capturing group,并参考该组号以获取匹配结果。
re.search(r'sampleurl/(\d+)', url).group(1)
另一种方法是实现lookaround断言。
re.search(r'(?<=sampleurl/)\d+', url).group(0)