我必须在'\''\'
中将所有'\'
替换为String
。我知道正则表达式"\\\\"
表示\
但是如何编写replaceAll()
的正则表达式以匹配'\''\'
。我试过了:
.replaceAll("\\\\\\\\", "\\")
但是我得到了java.util.regex.PatternSyntaxException?
答案 0 :(得分:3)
如果要替换文字而不是replaceAll
,请使用不使用正则表达式语法的replace
方法:
replace("\\\\", "\\")
如果你绝对必须使用replaceAll
,请记住它的第二个参数也有一些特殊字符
$
(其中$x
表示来自群组x
的匹配)\
以逃避$
及其自身,所以使用replaceAll
的代码需要看起来像:
replaceAll("\\\\\\\\", "\\\\")
因为我们还需要两次转义\
(一次在正则表达式引擎\\
中,一次在字符串\\\\
中)。