我正在尝试以以下形式从网址中提取一个 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 中紧随其后的字符。当您点击?、/ 或字符串末尾时,我怎么能说停止捕获?