Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php URL路由正则表达式_Php_Regex_Routes - Fatal编程技术网

Php URL路由正则表达式

Php URL路由正则表达式,php,regex,routes,Php,Regex,Routes,我正在尝试创建一个与URL路由匹配的正则表达式片段 基本上,如果我有这个路由/users/:id我希望/users/100匹配,但是/users/100/edit不匹配 这就是我现在正在使用的:users/(.*)/,但是由于贪婪匹配,无论用户ID后面是什么,它都是匹配的。如果路径末尾有/edit或其他内容,我需要某种方法来“打破”匹配 我查过正则表达式,不是操作符,但运气不好 有什么建议吗?你只是想收集数字吗 您可以使用users/(\d*)/ 如果你想收集所有信息直到a/,而它使用的是NOT

我正在尝试创建一个与URL路由匹配的正则表达式片段

基本上,如果我有这个路由
/users/:id
我希望
/users/100
匹配,但是
/users/100/edit
不匹配

这就是我现在正在使用的:
users/(.*)/
,但是由于贪婪匹配,无论用户ID后面是什么,它都是匹配的。如果路径末尾有
/edit
或其他内容,我需要某种方法来“打破”匹配

我查过正则表达式,不是操作符,但运气不好


有什么建议吗?

你只是想收集数字吗

您可以使用
users/(\d*)/


如果你想收集所有信息直到a
/
,而它使用的是NOT,
^/users/[^/]*$
你可以使用负前瞻:

users/(.*)/(?!edit)

但是,这始终需要一个尾部斜杠。也许更好的解决方案是:

users/(\d+(!/edit)


有关更多信息,请参阅。

为便于我使用,我不得不对其进行一些修改:
^/users/[^/]*/$
但这正是我需要知道的,谢谢!)