我正在尝试执行以下操作:
Matcher m = Pattern.compile(AMReg.LocLink.regEx()).matcher(input);
if(m.find()) {
urlStr = URLEncoder.encode(m.group(AMReg.LocLink.getPlace(1)), "US-ASCII");
}
AMReg是一个枚举。 regEx()
返回要搜索的正则表达式,getPlace(x)
返回通常在replaceAll中使用的组编号,因此它是$1
或$2
而不是使用的标准整数在m.group(x);
是否可以使用$2
字段从匹配器返回匹配的组? I searched through the docs,但无法找到办法。
(另外,所谓的$2
组号是什么?使用$?)
答案 0 :(得分:3)
您可以使用Matcher.group (int groupNum)
:
m.group ( AMReg.LocLink.getPlace() );
AMReg.LocLink.getPlace()
返回组#1,2等