在Symfony控制器上我使用注释来匹配仅以
结尾的URI.../integer-integer
or
.../integer
我的代码
/**
* @Route("/notification/old/{id}", requirements={"id" = "(^\d+$)|(^\d+\-\d+$)"})
* @Method("GET")
*/
根据Regex101,我的模式是正确的。 但是,Symfony返回
找不到“GET / notification / old / 1-1”的路线 找不到“GET / notification / old / 1”的路线
我做错了什么?
答案 0 :(得分:1)
正则表达式应该导致问题。您可以摆脱交替,捕获组并将其简化为
^\d+(?:-\d+)?$
它匹配字符串开头的一个或多个数字,然后可选地匹配连字符和一个或多个数字直到字符串的结尾。