Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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
Regex 路由正则表达式要求:排除特定单词_Regex_Symfony_Routing - Fatal编程技术网

Regex 路由正则表达式要求:排除特定单词

Regex 路由正则表达式要求:排除特定单词,regex,symfony,routing,Regex,Symfony,Routing,我正在使用Symfony 2.3.5创建一个应用程序来管理我的音乐。 我在配置路由时遇到一些问题 我想创建3条路线: 表演艺术家:/music/mickael\u jackson 编辑艺术家:/music/mickael\u jackson/Edit 播放专辑:/music/mickael\u jackson/thriller 正如您所显示的,“编辑艺术家”和“展示相册”的路由之间存在冲突:“编辑艺术家”被捕获为“展示相册路由”,并给我一个404未找到 我正在尝试使用正则表达式将关键字edi

我正在使用Symfony 2.3.5创建一个应用程序来管理我的音乐。 我在配置路由时遇到一些问题

我想创建3条路线:

  • 表演艺术家:
    /music/mickael\u jackson
  • 编辑艺术家:
    /music/mickael\u jackson/Edit
  • 播放专辑:
    /music/mickael\u jackson/thriller
正如您所显示的,“编辑艺术家”和“展示相册”的路由之间存在冲突:“编辑艺术家”被捕获为“展示相册路由”,并给我一个404未找到

我正在尝试使用正则表达式将关键字
edit
delete
从路线“Show album”中排除

我在这里找到了一个:(接受的答案有一点变化),但它不起作用,我有一个错误,因为我的路线“Show album”不匹配正则表达式

例外情况:

An exception has been thrown during the rendering of a template ("Parameter "nameCanonical" for route "corum_music_album_show" must match "/(?!edit|delete)" ("beneath_the_encasing_of_ashes" given) to generate a corresponding URL.") in CorumMusicBundle:Artist:show.html.twig at line 36. 
我的路线:

* @Route(
*         "{artistNameCanonical}/{nameCanonical}",
*         name = "corum_music_album_show",
*         requirements={"nameCanonical" = "^/(?!edit|delete)$"},
*         options = {"expose"=true}
* )
我找不到配置中的错误


谢谢您的帮助。

删除正斜杠

*         requirements={"nameCanonical" = "^(?!edit|delete)$"},
因为它已经包含在您的总路径中

否则,正则表达式在我看来没问题;干得好,自己找到答案。大多数不熟悉正则表达式的人在应用环顾断言方面都有困难。

使用这种模式
^(?。*(编辑|删除)$).*
我也不知道Symfony

只需将“编辑艺术家”路线移到“展示专辑”路线之前。
当然,您不能使用“编辑”作为专辑的名称,但我想您可以接受它。

谢谢您的帮助,但我仍然有相同的例外。正则表达式是我学到的最复杂的东西,对我来说它仍然是一个谜……嗯,对不起,我对Symfony的了解还不够,无法帮助你。不过,我对你的问题投了赞成票;希望其他人能帮助你。