常规字符串只转义一次,正则表达式中的\转义两次,并且每次转义中每个字符只能使用一次
- 常规字符串中"\\\\"经过转义后为"\\"
- 正则表达式中"\\\\"第一次转义,前两个\转义为"\",后两个\转义为"\",第二次"\\"再转义为"\"
- 反过来"\"匹配正则表达式,第一次匹配"\\",第二次匹配"\\\\",最后正则表达式为"\\\\"
如:
- "\\\\"-->"\\"-->"\"
- "\\d"-->"\d"-->"(任意一个数字)"
- "\\\\\\d"-->"\\\d"-->"\(任意一个数字)"
public static void main(String[] args) {
System.out.println("\\");
System.out.println(Pattern.matches("\\\\","\\"));
System.out.println(Pattern.matches("\\d","5"));
System.out.println("\\5");
System.out.println(Pattern.matches("\\\\\\d","\\5"));
}
//输出:
\
true
true
\5
true