匹配前面带有特定文本的数字序列

时间:2014-11-14 00:31:59

标签: python regex

如何匹配某些文本前面的数字序列但不返回文本,只返回数字序列?

例如,我们假设我有以下字符串:

url = "sampleurl/485734/abcdefgh/83275/"

我希望匹配单词sampleurl之后的所有数字。到目前为止,我一直在使用以下代码

re.search("sampleurl/[0-9]+", url).group(0)[9:]

有效,但我假设有更好的方式,而不需要在最后使用[9:]

为了快速参考,我一直在使用regex101来检查正则表达式的验证。

1 个答案:

答案 0 :(得分:2)

您可以在所需的部分周围放置capturing group,并参考该组号以获取匹配结果。

re.search(r'sampleurl/(\d+)', url).group(1)

另一种方法是实现lookaround断言。

re.search(r'(?<=sampleurl/)\d+', url).group(0)