解决:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
程序员文章站
2022-04-22 13:46:13
...
很不幸,编译报错:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
这是一个正则表达式错误,搜索了一下jdk帮助文档,找到了这么一段话:
根据Java Language Specification 的要求,Java 源代码的字符串中的反斜线
被解释为Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线,
表示正则表达式受到保护,不被 Java 字节码编译器解释。例如,当解释为正则表达式
时(很明显String.replaceAll("","")第一个参数就会被解释为正则表达式),字符串字
面值 "\b" 与单个退格字符匹配,而 "" 与单词边界匹配。字符串字面值 ""
是非法的,将导致编译时错误;要与字符串 (hello) 匹配,必须使用字符串字
面值 ")"。
答案应该就在这里。
例子:
对邮箱地址的正则校验
js中:[\w.][email protected][\w.]+.\w+
java中:[\w.][email protected][\w.]+\.\w+
凡是\都换成\
上一篇: 都是些什么事儿啊?!爆笑的事儿呗
下一篇: css 单行文本省略号 多行文本省略号