Php URL路由正则表达式
我正在尝试创建一个与URL路由匹配的正则表达式片段 基本上,如果我有这个路由Php URL路由正则表达式,php,regex,routes,Php,Regex,Routes,我正在尝试创建一个与URL路由匹配的正则表达式片段 基本上,如果我有这个路由/users/:id我希望/users/100匹配,但是/users/100/edit不匹配 这就是我现在正在使用的:users/(.*)/,但是由于贪婪匹配,无论用户ID后面是什么,它都是匹配的。如果路径末尾有/edit或其他内容,我需要某种方法来“打破”匹配 我查过正则表达式,不是操作符,但运气不好 有什么建议吗?你只是想收集数字吗 您可以使用users/(\d*)/ 如果你想收集所有信息直到a/,而它使用的是NOT
/users/:id
我希望/users/100
匹配,但是/users/100/edit
不匹配
这就是我现在正在使用的:users/(.*)/
,但是由于贪婪匹配,无论用户ID后面是什么,它都是匹配的。如果路径末尾有/edit
或其他内容,我需要某种方法来“打破”匹配
我查过正则表达式,不是操作符,但运气不好
有什么建议吗?你只是想收集数字吗 您可以使用
users/(\d*)/
如果你想收集所有信息直到a
/
,而它使用的是NOT,^/users/[^/]*$
你可以使用负前瞻:
users/(.*)/(?!edit)
但是,这始终需要一个尾部斜杠。也许更好的解决方案是:
users/(\d+(!/edit)
有关更多信息,请参阅。为便于我使用,我不得不对其进行一些修改:
^/users/[^/]*/$
但这正是我需要知道的,谢谢!)