Python 基于前缀和后缀的正则表达式匹配
我正在使用Python3和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] 我如何告诉程序忽略
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这个有效,提供它作为答案,我会接受它。