gpt4 book ai didi

regex - 正则表达式 : how to exclude multiple character groups?

转载 作者:行者123 更新时间:2023-12-04 02:47:00 24 4
gpt4 key购买 nike

我有一组网址:

/products

/categories

/customers


现在假设客户名为 john,我想帮助 john 使用较短的 url 访问他自己的帐户页面:
before : /customers/john
after : /john
(假设客户名称是唯一的)
我正在尝试找出一个合适的正则表达式调度程序,以便所有客户都可以拥有此功能:
/marry
/james
/tony-the-red-beard
这是我现在得到的(在 PHP 中):
'/^\/([^(products|categories|admin)].+)$/' => /customers/$1
这似乎不起作用。任何人都可以帮助我吗?

最佳答案

您在这里需要的是一个负面的前瞻assertion .你想说的是“我想匹配任何字符串,除了这些特定的字符串。”正则表达式中的断言可以匹配字符串,但它不消耗任何字符,允许这些字符与正则表达式的其余部分匹配。您可以通过在 (?! 中包装模式来指定否定断言。和 ) .

'/^\/(?!products|categories|admin)(.+)$/'

请注意,如果您不允许客户名称包含斜杠,您可能需要以下内容:
'/^\/(?!products|categories|admin)([^/]+)$/'

关于regex - 正则表达式 : how to exclude multiple character groups?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2025727/

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