Não é possível mapear a expressão regular - java.lang.IllegalArgumentException: O número de grupos de captura no segmento padrão

Eu tenho o seguinte método definido no meu controlador:

@RequestMapping(value = "/ajax/comments/post/{contentId:([apv]|ad)\\d+}")
    public @ResponseBody
    ActionResult handlePostCommentRequest(HttpServletRequest request, Model model,
            @PathVariable("contentId") String assetId,
            @RequestParam(value = "nickName", required = false, defaultValue = "Anonyymi") String nickName,
            @RequestParam(value = "text", required = false, defaultValue = "") String text,
            @RequestParam(value = "createThread", required = false, defaultValue = "false") String createThread) {
            // some code...
}

No entanto, quando eu faço a seguinte solicitação HTTP - / ajax / comments / post / ad1374659405664 eu recebo exceção:

org.springframework.web.util.NestedServletException: Falha no processamento da solicitação; exceção aninhada é java.lang.IllegalArgumentException: O número de grupos de captura no segmento padrão (([apv] | ad) \ d +) não corresponde ao número de variáveis ​​de modelo URI que ele define, o que pode ocorrer se grupos de captura forem usados ​​em um modelo de URI regex. Use grupos sem captura.

O Google não dá tanto resultado e é estranho, porque quando eu verifico o regex([vpa]|ad)\d+ emhttp://regexpal.com/ combina tudo corretamente. O que estou fazendo de errado?

questionAnswers(1)

yourAnswerToTheQuestion