Java 正则表达式 转义字符

Posted stoneBlog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 正则表达式 转义字符相关的知识,希望对你有一定的参考价值。

 

一、这篇文章写的很好,值得看看
两个重点:
1、两次转义
(1)Java 转义(具体规则待学习)
Java 中的普通字符串,需要经过 Java 的转义
(2)正则转义(具体规则待学习)
Java 代码中,正则中的普通字符串,需要经过两次转义,一次 java 转义,一次正则转义
技巧:
在 Java 中写正则时,可以先写出目标表达式,即正常的正则语法,不考虑编程语言。然后,再考虑要生成一个这样的目标表达式,需要经过怎样的 Java 转义,反推出最终的正则字符串(最终写在代码里的)应该怎么写
2、内存中(比较时,是在内存中,而我们写的代码,在磁盘中)

 

 

二、这个问题和高赞答案也很不错,值得反复揣摩
关于为什么 Pattern p = Pattern.compile("\\\\\\n"); 这个会报 redundant character escape 警告,有点难理解,记录一下自己现在的理解
\\\\\\n 先按照 Java 转义语法去转义,前两个 \\\\ 会转义成一个 \\,后两个 \\n 会转义成一个换行符,所以正则收到的是一个 \\ 加一个换行符,而前面那个 \\ 是没有意义的(注意,这时候正则收到的不是 \\\\n,因为 \\n 已经被 Java 转义成了换行符)

 

 

三、记忆一个典型例子

在 Java 中,要用正则匹配一个 \\,需要 \\\\\\\\

 

四、推荐一个超级好用的在线正则网站

可以随写随测

https://regex101.com/

 

 

 

以上是关于Java 正则表达式 转义字符的主要内容,如果未能解决你的问题,请参考以下文章

java 正则 二次转义

java转义符和正则表达式转义符

语言的转义字符及正则表达式的转义字符的表示

java 和 JS(javaScript)中的反斜杠正则转义

java正则表达式中是啥意思

java正则表达式