正規表現そのものじゃなくて、正規表現で置換する文字のエスケープ。
replaceAll(A, B)のBの部分の文字列。
public static String escape(String src) {
if (src == null || (src.indexOf('$') < 0 && src.indexOf('\\') < 0)) {
return src;
}char[] cs = src.toCharArray();
StringBuffer buf = new StringBuffer();for (int i = 0; i < cs.length; i++) {
if (cs[i] == '$' || cs[i] == '\\') {
buf.append('\\');
}buf.append(cs[i]);
}return buf.toString();
}
ぜんぜん意識していなかったから気をつけよう…