PHP url路由正则表达式

PHP url路由正则表达式,php,regex,Php,Regex,我正在使用正则表达式路由我的应用程序,这是我正在使用的正则表达式: @/users/([a-zA-Z0-9\-\_]+)/posts@ 但不幸的是,它也与这些URL匹配: /users/:uid/posts/:pid /users/:uid/posts/:pid/comment/:cid 但它不应该,它应该匹配完全相同的url,因此: /users/:uid/posts 我应该在正则表达式中更改什么以使其匹配完全相同的字符串 感谢您的帮助您应该在字符串的开头(^)和结尾($)包括: @^/

我正在使用正则表达式路由我的应用程序,这是我正在使用的正则表达式:

@/users/([a-zA-Z0-9\-\_]+)/posts@
但不幸的是,它也与这些URL匹配:

/users/:uid/posts/:pid
/users/:uid/posts/:pid/comment/:cid
但它不应该,它应该匹配完全相同的url,因此:

/users/:uid/posts
我应该在正则表达式中更改什么以使其匹配完全相同的字符串

感谢您的帮助

您应该在字符串的开头(
^
)和结尾(
$
)包括:

@^/users/([a-zA-Z0-9\-\_]+)/posts/?$@
我还允许在URL的末尾添加可选的
/