No se puede asignar la expresión regular - java.lang.IllegalArgumentException: el número de grupos de captura en el segmento de patrón

Tengo el siguiente método definido en mi 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...
}

Sin embargo, cuando hago la siguiente solicitud HTTP - / ajax / comments / post / ad1374659405664 obtengo una excepción:

org.springframework.web.util.NestedServletException: Falló el procesamiento de la solicitud; la excepción anidada es java.lang.IllegalArgumentException: el número de grupos de captura en el segmento del patrón (([apv] | ad) \ d +) no coincide con el número de variables de la plantilla URI que define, lo que puede ocurrir si se usan grupos de captura en una plantilla de URI regex. Utilice grupos que no capturen en su lugar.

Google no da tantos resultados y es raro, porque cuando reviso la expresión regular([vpa]|ad)\d+ enhttp://regexpal.com/ coincide con todo correctamente. ¿Qué estoy haciendo mal?

Respuestas a la pregunta(1)

Su respuesta a la pregunta