编写跨域配置类时,遇到如图所示问题:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )


这样的问题,一般是转义字符的问题,下面是收集的网上解释:
根据Java Language Specification 的要求,Java 源代码的字符串中的反斜线被解释为Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线,表示正则表达式受到保护,不被 Java 字节码编译器解释。例如,当解释为正则表达式时(很明显String.replaceAll("","")第一个参数就会被解释为正则表达式),字符串字面值 "\b" 与单个退格字符匹配,而 "" 与单词边界匹配。字符串字面值 "\(hello\)"是非法的,将导致编译时错误;要与字符串 (hello) 匹配,必须使用字符串字面值 ")"。
下面为正则匹配的例子:
java中:[\\w.]+@[\\w.]+\\.\\w+
凡是\都换成\\
如果要更详细的转义字符,可以参考官方文档:Pattern (Java Platform SE 6)
4234

被折叠的 条评论
为什么被折叠?



