如何为路线写正确的正则表达式?

时间:2017-09-01 08:44:04

标签: php regex symfony yii2

在我的Phpdoc中,我有路由的这种设置。

* @route   /v1/posts/<type:(news|article|release|about)?>

如何制作以便在&#34;发布之后删除&#34;仅在传递类型时插入。

1 个答案:

答案 0 :(得分:1)

您可以强制/type..轮换组,并将/v1/posts(?:/<type:(news|article|release|about)>)? 部分包含在可选的非捕获组中:

/v1/posts

现在,

  • (?:/<type:(news|article|release|about)>)? - 匹配文字子字符串
  • / - 匹配1或0次出现(即此部分可能缺失)
    • <type:(news|article|release|about)> - 斜线
    • <type: - >,然后是捕获组内的任何替代方案,然后是{{1}}。