要想替换成 str1="aa\\bbb";str2="aa\'bbb"; 必须这样替换: str1 = str1.replaceAll("\\\\", "\\\\\\\\"); str2 = str2.replaceAll("'", "\\\\'"); 原因如下: String 的 replaceAll() 方法,实际是采用正则表达式的规则去匹配的, \\\\ ,java解析为\\交给正则表达式, 正则表达式再经过一次转换,把\\转换成为\ 也就是java里面要用正则来表示一个\. 必须写成4个\ 如果要表示\\,那就要写8个\ 所以如果写成: str1 = str1.replaceAll("\\", "\\\\");就会报正则表达式的错误。 |
|
来自: Erica_Shea > 《java正则表达式》