gpt4 book ai didi

python正则表达式模式提取两个字符之间的值

转载 作者:行者123 更新时间:2023-11-30 23:40:19 24 4
gpt4 key购买 nike

我正在尝试从 url 中提取 id 号,格式为

http://www.domain.com/some-slug-here/person/237570
http://www.domain.com/person/237570

这些网址之一也可以包含参数

http://www.domain.com/some-slug-here/person/237570?q=some+search+string
http://www.domain.com/person/237570?q=some+search+string

我已尝试使用以下表达式从上述 URL 中捕获“237570”的 id 值,但每个表达式都可以工作,但确实适用于所有四种 URL 场景。

(?<=person\/)(.*)(?=\?)
(?<=person\/)(.*)(?=\?|\z)
(?<=person\/)(.*)(?=\??*)

我所看到的情况是它得到了 237570 但包括 ?以及 url 中紧随其后的字符。当您点击 ?、/或字符串末尾时,我该如何说停止捕获?

最佳答案

字符串:

http://www.domain.com/some-slug-here/person/1234?q=some+search+string
http://www.domain.com/person/3456?q=some+search+string
http://www.domain.com/some-slug-here/person/5678
http://www.domain.com/person/7890

正则表达式:

person\/(\d{1,})

输出:

>>> regex.findall(string)
[u'1234', u'3456', u'5678', u'7890']

关于python正则表达式模式提取两个字符之间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12718486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com