Java 是否可以使用$x从Matcher获得组?

Java 是否可以使用$x从Matcher获得组?,java,regex,Java,Regex,我正在努力做到以下几点: 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() 是否可以使用$2字段从Matcher返回匹配的组,但却找不到一个办法 (另外,$2组号叫什么?使用$?)您可以使

我正在努力做到以下几点:

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()

是否可以使用
$2
字段从Matcher返回匹配的组,但却找不到一个办法

(另外,
$2
组号叫什么?使用$?)

您可以使用:


其中
AMReg.LocLink.getPlace()
返回一个组#1、2等。

是的,它不是整数。它是一个带有
$
的字符串。我想我可以解析出
$
。。。不过我觉得有更好的办法。可能是星期五。是的,如果您不能在
getPlace
方法中更改代码,您可以轻松地剥离
$
。我想我只是要咬紧牙关,重新设计枚举和类,其中
getPlace(n)
向int添加一个
$
,并返回一个字符串,插入另一个函数以返回原始int。感谢您让我知道我想做的事情是不可能的。这是我第一次使用Matcher,所以我在设计Matcher时不知道这会导致问题。字符串
“$1”
“$2”
等仅在
替换
和类似方法中有用
m.group
需要一个
int
参数。
m.group ( AMReg.LocLink.getPlace() );