gpt4 book ai didi

regex - "infinite"URL 的正则表达式

转载 作者:行者123 更新时间:2023-12-04 06:15:44 29 4
gpt4 key购买 nike

我正在尝试为此模式创建匹配项:

/page/some/thing/is/written/here

其中/page 将始终匹配 a-zA-Z0-9 并且/page 之后的所有内容都可以包含字符 a-zA-Z0-9-/
我的想法是“页面”始终是用户将看到的页面,其余的是参数,以/(p1/p2/p3) 等分隔。

这就是我想出的:^([a-zA-Z]+)/([A-Za-z0-9-/]+)$
它工作到 3 个斜线:page/is/nice

但是如果我添加另一个这样的参数: page/is/nice/crash
它崩溃了。

有什么建议?
谢谢。

最佳答案

尝试这个:

^/?[a-zA-Z]+(/[A-Za-z0-9]+)*$

分解:
  • ^ - 主 anchor
  • /? - 它可能以斜杠开头
  • [a-zA-Z]+ - 一个或多个字母
  • (/[A-Za-z0-9]+)* - 零个或多个/字母数字(至少有一个字母数字)
  • $ - 端 anchor

  • 如果您不需要捕获结尾,则应改用非捕获组:
    ^/?[a-zA-Z]+(?:/[A-Za-z0-9]+)*$    

    如果你想要一个可选的斜线结尾,试试这个:
    ^/?[a-zA-Z]+(?:/[A-Za-z0-9]+)*/?$

    注:您可能需要根据您的编程语言来分隔斜线。

    关于regex - "infinite"URL 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7273622/

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