Url可选参数正则表达式

时间:2017-03-16 03:05:56

标签: regex preg-match

我有一个路由控制器接受带有如下参数的路由:

/news/:id

我得到了这个正则表达式的id:

:([\w]+)

但是,使用以下语法,参数可以是可选的:

/users/[:id]

如何修改正则表达式以捕获这两种情况?

2 个答案:

答案 0 :(得分:0)

我认为这是一个a / b问题,但这对你所问的问题很有用:

\[?\w+]?

假设您的路线占位符仅为小写数字和数字。 当然,如果您提供了有关占位符结构的更多详细信息,它会发生变化。

答案 1 :(得分:0)

正则表达式:(?:\:[\w]+|\[\:\w+\])

Regex demo