所以..基本上,这个插件匹配^(/ $)|(/ cn /(.*)+$)模式并重定向到用户。
以下是该插件的代码段。
if(uriPattern != null) {
Pattern pattern = Pattern.compile(uriPattern);
Matcher matcher = pattern.matcher(request.getRequestURI());
matcher.find();
matchURI = matcher.matches();
}
if (matchURI && redirectTool.shouldRedirectRequest()) {
//do something
}
如您所见,该模式匹配/或/ cn / [EVERYTHING] url。当/匹配时如何获得空字符串?当/ cn / [EVERYTHING]匹配时如何获得cn?
我尝试了matcher.group(),matcher.start()和matcher.end()......
答案 0 :(得分:1)
matcher.group(1)
为/
,当您的第二个子模式匹配时,matcher.group(2)
为/cn/whatever
。
你似乎不需要+
和嵌套的parens。我的表达方式更简单:^(/$)|(/cn/.*$)