今天写一个正则表达式出现这个错误:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
解决办法:将\改为\\,就ok了
这是一个正则表达式错误,搜索了一下jdk帮助文档,找到了这么一段话:
根据Java Language Specification 的要求,Java 源代码的字符串中的反斜线
被解释为Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线,
表示正则表达式受到保护,不被 Java 字节码编译器解释。例如,当解释为正则表达式
时(很明显String.replaceAll("","")第一个参数就会被解释为正则表达式),字符串字
面值 "\b" 与单个退格字符匹配,而 "\\b" 与单词边界匹配。
本文详细介绍了在Java中处理正则表达式时遇到的反斜线转义错误,并提供了正确的解决方案。通过理解Java语言规范中关于字符串转义规则的解释,我们可以避免此类错误并正确地在代码中使用正则表达式。
4931

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



