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

2024-05-15 21:55:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是python3和re模块。在

以下是字符串:

s1 = "http://52portal/flood-2011-year-39090/gallery?p=3"
s2 = "http://52portal/flood-2011-year-39090"

我需要得到39090号码,id总是给定的,因此这个号码有前缀-,没有特定的后缀。在

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

^{pr2}$

如何告诉程序忽略后缀和前缀为-的数字?在


Tags: 模块字符串reidhttpurl数字gallery
2条回答

你需要找到右边的边界。它可以是/或字符串结尾。在

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

在这里,(?<=-)是一个肯定的检查,它检查在1个或多个数字(\d+)之前是否有连字符,(?=/|$)是一个积极的前瞻,它确保序列后面有/或字符串结尾。在

demo

这是sample code

^{pr2}$

试一试

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

https://regex101.com/r/sY3qI2/2

相关问题 更多 >