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 如何为route编写正确的正则表达式?_Php_Regex_Symfony_Yii2 - Fatal编程技术网

Php 如何为route编写正确的正则表达式?

Php 如何为route编写正确的正则表达式?,php,regex,symfony,yii2,Php,Regex,Symfony,Yii2,在我的Phpdoc中,我有这样的路线设置 * @route /v1/posts/<type:(news|article|release|about)?> *@route/v1/posts/ 如何使“posts”后的斜杠仅在类型通过时插入。您可以强制使用类型替换组,并使用可选的非捕获组包装/type..部分: /v1/posts(?:/<type:(news|article|release|about)>)? /v1/posts(?:/)? 现在, /v1/p

在我的Phpdoc中,我有这样的路线设置

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

如何使“posts”后的斜杠仅在类型通过时插入。

您可以强制使用
类型
替换组,并使用可选的非捕获组包装
/type..
部分:

/v1/posts(?:/<type:(news|article|release|about)>)?
/v1/posts(?:/)?
现在,

  • /v1/posts
    -匹配文字子字符串
  • (?:/)?
    -匹配
    • /
      -斜杠
    • -

试试
/v1/posts(?:/)?
非常感谢:)很高兴它对您有用。请考虑通过点击来接受答案。✓ 如果我的回答对你有帮助的话,请在左边(见)和接受投票后(见)。