正则表达式停止捕获组在?符号

2024-09-22 20:22:46 发布

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

我试图在这些字符串中捕获"thing1"和{}:

http://www.example.com/stuff1/thing1   
http://www.example.com/stuff2/thing2?id=9999

在python中,我尝试过:

^{pr2}$

第一个示例URL适用于我的代码,但第二个示例给出了:

['thing2?id=9999']

我希望捕获组不包括"?"。在


Tags: 字符串代码comidhttpurl示例example
2条回答

试试这个:

import re
re.findall('^.*(?:stuff\d\/)(.*?)(?=\?|$).*$', url)

在这个正则表达式中,我使用了正前瞻(?= )来排除{}

只需捕获“non?”字符:

re.findall('^.*(?:stuff1/|stuff2/)([^?]*).*$', url)

相关问题 更多 >