Python 基于前缀和后缀的正则表达式匹配

Python 基于前缀和后缀的正则表达式匹配,python,regex,Python,Regex,我正在使用Python3和re模块 以下是字符串: s1 = "http://52portal/flood-2011-year-39090/gallery?p=3" s2 = "http://52portal/flood-2011-year-39090" 我需要获得39090编号,ID总是给定的,因此编号具有前缀-,并且没有特定的后缀 当url中没有其他数字时,我有一个实现: pattern = r'-([0-9]+)' re.findall(pattern, s)[0] 我如何告诉程序忽略

我正在使用Python3和
re
模块

以下是字符串:

s1 = "http://52portal/flood-2011-year-39090/gallery?p=3"
s2 = "http://52portal/flood-2011-year-39090"
我需要获得
39090
编号,ID总是给定的,因此编号具有前缀
-
,并且没有特定的后缀

当url中没有其他数字时,我有一个实现:

pattern = r'-([0-9]+)'
re.findall(pattern, s)[0]
我如何告诉程序忽略带有后缀和前缀的数字
-

尝试

(?<=-)[0-9]+?(?=/|$)
(?尝试


(?您需要找到右侧边界。它可以是
/
或字符串结尾

(?<=-)\d+(?=/|$)

您需要找到右侧边界。它可以是
/
或字符串结尾

(?<=-)\d+(?=/|$)

?您需要找到右侧边界。它可以是
/
或字符串的结尾。@Stribizev这个有效,提供它作为答案,我会接受它。?您需要找到右侧边界。它可以是
/
或字符串的结尾。@Stribizev这个有效,提供它作为答案,我会接受它。