我有这样的字符串:
string = '
something .... something else ...
url="/transfer/packages/00000000-0000-0000-0000-000000000000/connectors/68f74d66-ca3d-4272-9b59-4f737946b3f7/something/138bb190-3b12-4855-88e2-0d1cdf46aeb5/...../...../...../...../...."
other things ...
'
没有任何CR/LF,这一切都在一条线上
我想创建一个正则表达式,它:
/transfer/packages/
开头时"
到目前为止,我写道:
\/transfer\/packages\/[^"]*([A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12})"
但它只捕获最后一个guid。我需要一些如何重用前缀/transfer/packages/
,并保持匹配,每次都急切地扩展搜索,而不离开前缀
从这个SOanswer:
如果您在Python中使用
re
模块,那么可能使用str.startwith
并尝试:您可以使用PyPi regex module,它在lookback中支持无限长量词:
示例Regex demo(为演示目的选择了另一个引擎)或参见Python demo
另一个选项是首先匹配带有
url="/transfer/packages/
后跟guid的行,然后匹配到下一个双引号然后您可以使用例如re.findall来获取所有的guid
Regex demoPython demo
例如:
输出
相关问题 更多 >
编程相关推荐