来自this java API:
可以将美元符号视为对捕获的子序列的引用 如上所述,和反斜杠用于转义文字字符 替换字符串中的。
我得到了第一点,然而有点混淆粗体强调的部分。 “逃避文字”是什么意思?你会在替换字符串中逃避什么样的文字字符?
提前致谢。
答案 0 :(得分:3)
好吧,$
;)
public static void main(final String... args)
{
final Pattern p = Pattern.compile("one dollar");
final String input = "I want one dollar, please";
// IndexOutOfBoundsException: no group 1
System.out.println(p.matcher(input).replaceFirst("$1"));
// You need to escape the "$"
System.out.println(p.matcher(input).replaceFirst("\\$1"));
}