gpt4 book ai didi

javascript - 正则表达式匹配给定路径的所有有效 URL 变体

转载 作者:行者123 更新时间:2023-11-28 18:29:04 30 4
gpt4 key购买 nike

我正在努力使用正则表达式,我希望匹配路径的所有“有效”变体。

我对有效的定义是它后面可以跟一个可选的斜杠和可选的查询字符串或单个“?”

它需要在 PHP 和 JavaScript 中工作,因此不可能进行正向/负向查找。

这里有一个修改的起点 http://regexr.com/3drov

在撰写本文时,我得到了 ^\/page-title\/?(?=\?).*$ 我认为 \/?将允许我匹配前两行,作为可选的斜杠。但我想我现在很困惑。

我尝试放入条件 (?(?=)then|else) 类型的内容,我认为 JS 支持这种类型,但从 regexr.com 收到语法错误

因此,任何帮助将不胜感激。谢谢!

这些应该与输入匹配:/page-title

/page-title
/page-title/
/page-title?
/page-title/?
/page-title?foo
/page-title/?foo=bar

这些不应该

/page-title/foo/
/page-title-foo-bat

更新

我没有意识到 JavaScript 不支持经典的条件语法。阅读这篇文章( I would like to mimick conditionals in javascript regex )后,我似乎可以使用 ^\/page-title\/?((?=\?).*|)$

已保存更新以在此处进行测试:http://regexr.com/3drq0

最佳答案

也许是这样:

^\/page-title\/?(\?.*)?$

开始/页面标题

可选/

可选(? 后跟任何内容或不跟任何内容)

结束

http://regexr.com/3drpb

关于javascript - 正则表达式匹配给定路径的所有有效 URL 变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38494677/

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