Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 路线必须匹配Symfony2_Php_Regex_Symfony - Fatal编程技术网

Php 路线必须匹配Symfony2

Php 路线必须匹配Symfony2,php,regex,symfony,Php,Regex,Symfony,我对正则表达式非常不熟悉,我的Symfony2路由有问题 这是我的yml路线 ilppa_adverse_view: path: /{adverseReference}/{adverseName} defaults: _controller: IlppaAdverseBundle:Adverse:view requirements: adverseReference: !profile|!adverse 我在生成路线时遇到问题 A

我对正则表达式非常不熟悉,我的Symfony2路由有问题

这是我的yml路线

ilppa_adverse_view:
    path:     /{adverseReference}/{adverseName}
    defaults:
        _controller: IlppaAdverseBundle:Adverse:view
    requirements:
        adverseReference: !profile|!adverse
我在生成路线时遇到问题

An exception has been thrown during the rendering of a template ("Parameter "adverseReference" for route "ilppa_adverse_view" must match "!profile|!adverse" ("5401b864ad2f1" given) to generate a corresponding URL.") in FOSUserBundle:Profile:show_content.html.twig at line 16.
我不明白,因为5401b864ad2f1与
匹配!简介|!不利

否它不匹配:

在regexp中,必须明确定义与regexp匹配的内容。您不能假设,如果regexpr不匹配两个字符串,它将匹配所有其他字符串

您还必须知道,对于symfony,路线占位符的默认要求是:

[^/]+
我使用了这个regexp,但没有在symfony实例上进行测试,但它可以在您的情况下工作:

^((?!.*(profile|adverse))[^\/]+)$

您还可以在symfony中创建自定义url匹配器,这不是regexp所必需的

^((?!.*(profile|adverse))[^/]+)$