编译Spring的MVC url模式正则表达式

时间:2015-09-28 15:26:55

标签: java regex spring spring-mvc

我需要能够将Spring MVC URL模式匹配表达式列表转换为实际的Regex模式,以便我可以匹配它们的字符串。

Spring模式示例:

/actionGroups/{action-group-id:\d+}

目前,如果我编译上面的字符串,由于PatternSyntaxException个字符导致非法重复,我得到{

Spring是否公开了它用于将这些字符串编译/匹配到实际Regex模式的机制?如果我可以重用它们的功能,那将会很酷。

否则我想我需要手动转义{个字符,并在此示例中删除模式名称.. action-group-id

2 个答案:

答案 0 :(得分:0)

您要尝试的操作没有任何问题,请检查您的模式语法:

@RequestMapping("/actionGroups/{action-group-id:\\d+}")
public void test(@PathVariable(value = "action-group-id") Integer id) {
    // you can use id ...
}

答案 1 :(得分:0)

根据Sotirios Delimanolis的评论,看起来这是我正在寻找的AntPathMatcher课程。

此类有一个匹配方法,它采用类似上面的URL模式和URL字符串,并根据字符串是否匹配返回true / false。