java.lang.IllegalArgumentException: Illegal group reference
在用replaceAll替换字符串的时候出现了这样的问题:java.lang.IllegalArgumentException: Illegal group reference。
经过网上查找,问题出在文章中含有$符号,replaceall()的源代码是:
while (cursor < replacement.length()) {
char nextChar = replacement.charAt(cursor);
if (nextChar == '\\') {
cursor++;
nextChar = replacement.charAt(cursor);
result.append(nextChar);
cursor++;
} else if (nextChar == '$') {
// Skip past $
cursor++;
// The first number is always a group
int refNum = (int)replacement.charAt(cursor) - '0';
if ((refNum < 0)||(refNum > 9))
throw new IllegalArgumentException(
"Illegal group reference");
cursor++;
于是我加了这句话content.replaceAll("\\$", "\\\\\\$")。
但还是出错。
请问这是怎么回事?