关于Java正则和转义中\和\\的理解

内容分享4小时前发布
0 5 0

定义

一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。

转义就是指转换该字符的原本意义,从而变成另外的意义。

作为Java的转义字符

1.在java字符常量中,反斜杠()是一个特殊的字符,被称为转义字符,它的作用是用来转义后面一个字符。转义后的字符一般用于表明一个不可见的字符或具有特殊含义的字符,例如换行(
)、回车符(
)、制表符( )。

2.在java中以下字符都有特殊意义,无法直接表明

单引号:char c = 'a'; 表明字符类型的数据时需要使用单引号将字符左右括起来。所以要表明字符'则需要使用'

双引号:String str = “abc”; 表明字符串类型的数据时需要使用双引号将字符串左右括起来。要表明字符串”则需要”

反斜杠:String regex = “你好
棒”; 在java代码中表明转义字符,所以如果要表明字面意思的,则需要使用\

所以用反斜杠加上本身字符来进行表明。

在正则表达式中

表明将下一字符标记为特殊字符。如d表明数字字符匹配,等效于 [0-9]。w表明匹配任何字类字符,包括下划线。与”[A-Za-z0-9_]”等效。

在 Java 中,\ 表明:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。

\中的第一个表明java的转义字符由编译器解析,第二个是正则表达式由正则表达式引擎解析。

Java正则表达式中匹配一个普通的反斜杠是\\

注意观察下图中的静态代码中的变量定义和运行中的内存变量之间的区别。

关于Java正则和转义中\和\\的理解

代码​​

package com.lingyejun.authenticator;

import java.util.regex.Pattern;

public class RegexTest {

    public static void main(String[] args) {

        // 正则表达式中\\匹配一个
        boolean flg = Pattern.matches("\\","\");
        System.out.println(flg);

        char a = 'a';
        String b = "abc";
        String c = "你好
	棒";
        System.out.println(c);
        char d = ''';
        String e = """;
        System.out.println(d);
        System.out.println(e);
        String f ="\";
        System.out.println(f);
        String j = "\\";
        System.out.println(f + j);
        String h = "{"name":"翎野君"}";
        System.out.println(h);
        String g = "{\"age\":\"99\"}";
        System.out.println(g);
        String k = g.replaceAll("\\","");
        System.out.println(k);
    }
}

关于Java正则和转义中\和\\的理解

我是「翎野君」,感谢各位朋友的:点赞收藏评论,我们下期见。

© 版权声明

相关文章

5 条评论

  • 头像
    至善初长 读者

    一针见血

    无记录
    回复
  • 头像
    虾饼好好七 读者

    1

    无记录
    回复
  • 头像
    赖祥英 读者

    ,。…。沪上阿姨一

    无记录
    回复
  • 头像
    张狒狒zeh 读者

    一下

    无记录
    回复
  • 头像
    落地 读者

    收藏了,感谢分享

    无记录
    回复