Java出现错误“Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )”的问题分析
2017-03-16 21:20
513 查看
若出现:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )这样的问题,一般是转义字符的问题,下面是收集的网上解释:
根据Java Language Specification 的要求,Java 源代码的字符串中的反斜线被解释为Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线,表示正则表达式受到保护,不被 Java 字节码编译器解释。例如,当解释为正则表达式时(很明显String.replaceAll("","")第一个参数就会被解释为正则表达式),字符串字面值 "\b" 与单个退格字符匹配,而 "" 与单词边界匹配。字符串字面值 "\(hello\)"是非法的,将导致编译时错误;要与字符串 (hello) 匹配,必须使用字符串字面值 ")"。
下面为正则匹配的例子:
js中:[\w.]+@[\w.]+\.\w+
java中:[\\w.]+@[\\w.]+\\.\\w+
凡是\都换成\\
更详细的转义字符说明,参考:http://www.cnblogs.com/EasonJim/p/6561576.html
还有一种说法,这种错误也经常出现在路径字符传中,在windows下路径使用的是反斜杠,而且是两个,所以windows路径的分隔符为“\\\\”,而通常我们的写法最多就是“\\”。
根据Java Language Specification 的要求,Java 源代码的字符串中的反斜线被解释为Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线,表示正则表达式受到保护,不被 Java 字节码编译器解释。例如,当解释为正则表达式时(很明显String.replaceAll("","")第一个参数就会被解释为正则表达式),字符串字面值 "\b" 与单个退格字符匹配,而 "" 与单词边界匹配。字符串字面值 "\(hello\)"是非法的,将导致编译时错误;要与字符串 (hello) 匹配,必须使用字符串字面值 ")"。
下面为正则匹配的例子:
js中:[\w.]+@[\w.]+\.\w+
java中:[\\w.]+@[\\w.]+\\.\\w+
凡是\都换成\\
更详细的转义字符说明,参考:http://www.cnblogs.com/EasonJim/p/6561576.html
还有一种说法,这种错误也经常出现在路径字符传中,在windows下路径使用的是反斜杠,而且是两个,所以windows路径的分隔符为“\\\\”,而通常我们的写法最多就是“\\”。
相关文章推荐
- Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )问题解决
- java初学:eclipse,编译时报错:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) 确定桌面有TT1.txt
- Android开发中遇到的问题(五)——Eclipse导入Android项目出现"Invalid project description overlaps the location of another project"错误的解决办法
- sax解析xml文件出现编码错误问题Invalid byte 1 of 1-byte UTF-8 sequence.
- JAVA程序中Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )问题的解决
- JSP页面顶端出现错误:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path的问题解决
- Android开发中遇到的问题(五)——Eclipse导入Android项目出现"Invalid project description overlaps the location of another project"错误的解决办法
- Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )报错
- Dom4j 操作xml出现错误:Invalid byte 2 of 2-byte UTF-8 sequence.
- 关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因
- JAVA(Spring mvc)接口实现类 接收参数时出现 For input string: ""问题
- 运行mvn命令出现java/lang/NoClassDefFoundError: java/lang/Object错误解决方案及原因分析
- Java 用VS2010+MyEclipse调试jni出现的错误问题
- An invalid form control with name='file[]' is not focusable.间接点击form表单的<input type="file">出现的问题
- Java 正则表达式错误(Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
- 关于note2等(Android4.1版本)以上无法启动支付宝的问题"java.security.spec.InvalidKeySpecException"
- 关闭Tomcat时,产生“线程未关闭,出现内存泄漏”错误和"java.lang.IllegalStateException"
- 【问题一】notepad++编辑器写Java代码,无法编译出现错误:编码GBK的不可映射字符
- 解决出现 java.lang.ExceptionInInitializerError错误问题
- mysql: "tablename" is marked as crashed and should be repaired修复 问题分析: 当mysql出现这类提示时,大部分的现象为查询不到正常的