具体来说,在更换某些行时
String hey = "\\t\\t";
到
行String there = "\\\\t\\\\t";
有人会想到这个
Pattern p = Pattern.compile("\\");
Matcher m = p.matcher(hey);
if (m.find()) {
m.replaceAll("\\\\");
}
足以完成工作,因为模式\\
返回文字\
,并且鉴于匹配器找到它,替换\\\\
应该用文字替换所有/每个\\
。
但是,Pattern类并不理解\\
意味着查找反斜杠,因此抛出异常。这有什么问题?
答案 0 :(得分:1)
问题是\
也用作正则表达式中的转义字符。要匹配单个\
,您需要一个必须指定为Java字符串文字\\
的文字正则表达式"\\\\"
。丑陋,我知道,但那是怎么回事。