Php symfont路由中slug的正则表达式

Php symfont路由中slug的正则表达式,php,symfony,twig,symfony-routing,Php,Symfony,Twig,Symfony Routing,我很难创建一个正则表达式来匹配URL slug[a-z](“单词”由单破折号分隔),如下所示: wordone-wordtwo-wordtree 途中: csa_platform_category: path: /c/{slug} defaults: { _controller: CSAPlatformBundle:Category:index } requirements: slug: "^[a-z]+(?:-[a-z]+)*$" 细枝: &

我很难创建一个正则表达式来匹配URL slug[a-z](“单词”由单破折号分隔),如下所示:

wordone-wordtwo-wordtree
途中:

csa_platform_category:
    path:     /c/{slug}
    defaults: { _controller: CSAPlatformBundle:Category:index }
    requirements:
        slug: "^[a-z]+(?:-[a-z]+)*$"
细枝:

<a href="{{ path('csa_platform_category', {'slug': cat.slug}) }}">{{ cat.name }}</a>

显示的错误为:

在呈现模板期间引发了异常(“路由“csa_平台_类别”的参数“slug”必须匹配“[a-z]+(?:-[a-z]+)*”(“给定”)以生成相应的URL。”)


我对正则表达式很不熟悉,因此希望您能提供帮助。

您遇到的错误是,您的
cat.slug
为空

(“给定”)


您应该使用PHP中的
var\u dump
dump

检查cat对象中的数据,您需要使用正则表达式分隔符来定义正则表达式,请尝试
“~^[a-z]+(?:-[a-z]+)*$”
通过添加分隔符显示一个作者错误:找不到“GET/category/mutuelle sante”的路由默认值:{u controller:CSAPlatformBundle:Category:index}要求:slug:“~^[a-z]+(?:-[a-z]+)*$~”好的,那么问题根本不在于正则表达式。