Har*_*old 1 php regex preg-match-all regex-group
我正在尝试从以下URI获取分组匹配:
route: "/user/{user}/{action}"
input: "/user/someone/news"
Run Code Online (Sandbox Code Playgroud)
什么是适当的正则表达式?在过去的几个小时里,我一直在寻找自己的酸...
我尝试过类似的东西,但没有结果:(
~\/app\/user\/(?P<user>[.*]+)\/(?P<action>[.*]+)~
Run Code Online (Sandbox Code Playgroud)
我在匹配数组中返回组,但没有基于组内输入的结果.
期望的输出:
Array
(
[0] => Array
(
[0] => "someone"
)
[user] => Array
(
[0] => "someone"
)
[1] => Array
(
[0] => "news"
)
[action] => Array
(
[0] => "news"
)
)
Run Code Online (Sandbox Code Playgroud)
通过一个例子澄清:
我的控制器有以下路由:/app/user/{username}/{action}
来自浏览器的请求URI是:/app/user/john/news
在捕获括号之间的变量时,如何使用正则表达式模式将该请求URI与该路由匹配?
/user/(?P<user>[^/]+)/(?P<action>[^/]+)
Run Code Online (Sandbox Code Playgroud)
只是为了解释原始正则表达式的几个问题:
[.*]+表示仅出现点的正数和星号,例如:*.*.*或.或......; [^/]+描述任意字符的正数但是斜线.~分隔符时它们不是特殊字符.| 归档时间: |
|
| 查看次数: |
827 次 |
| 最近记录: |