转义字符\(正则表达式)

        学习正则表达式的时候对\不是很理解,后来查询资料后讲一下我的看法。

        拿\d来说,它表示一个一个数字,但是怎么用呢?

System.out.println("a".matches("\\d"));//false
        System.out.println("a".matches("\\."));//false
        System.out.println("a".matches("."));//true
        System.out.println("\d");

我们一般在正则表达式中是需要用"\\d"的,为什么?因为\是转义字符,直接用\d,代表着是将字符d转义为其他意思,但d没有其他意思,那么就会报错。

所以当我们需要用到\d这一完整的预定义功能的字符时,就需要先将前面的转义字符\先转义为普通的字符\,再加上d形成\\d才是我们需要的\d。

这样说可能比较抽象,我换总说法,就是\d是一个完整的字符,一个我们在正则表达式中用来判断是否是一个数字的字符,但是你直接写\d代表着不是我们需要的那个字符,而是表示将d转义的一个字符,你需要先将\转义,也就是说\\,才代表一个\,然后再加上d,才表示为/d。

算了,感觉还是不是很清晰,用不等式吧。

但是 . 比较特殊,在正则表达式中,\. 表示匹配点字符 . 本身。这里面的 \ 是没有转义意义的\,所以当我们想表示 . 的时候,首先先把 \ 转义了,用\\表示符号\,符号\加上.也就是\.这样的一个符号才能表示 . 。所以输入要\\. 。

当然,也可以用另一种方式表示符号.

System.out.println(".".matches("[.]"));//true

不等式如下:

        System.out.println("a".matches("."));//true
        System.out.println("\\".matches("\\."));//false
        System.out.println(".".matches("\\."));//true
        System.out.println("\\.");//\.

        //在正则表达式中,符号.为\.表示,也就是在正则表达式中,"."="\."
        //其中符号"\."中的\是要符号要无转义作用的符号,所以此时我们需要用\先转义\
        //也就是说 "\\."="\(无转义作用的符号\)."
        //此时正则表达式会将"\(无转义作用的符号\)."识别为符号"."
        /*也就是说当我们输入//.的时候,首先转义字符\先将第二个转义字符给转义为字符\
        然后再加上符号.形成了符号"\.",此时正则表达式将符号"\."识别为符号"."
         */

以下是部分正则表达式:

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
转义字符正则表达式中用于匹配特殊字符,以及表示一些特殊的字符类别。以下是一些常见的转义字符及其对应的正则表达式: 1. 反斜杠(\):用于转义下一个字符,使其失去特殊含义。例如,\d表示匹配任意一个数字字符。 2. 点号(.):匹配除换行符以外的任意一个字符。如果要匹配真正的点号,需要使用转义字符\.。 3. 星号(*):匹配前面的表达式零次或多次。如果要匹配真正的星号,需要使用转义字符\*。 4. 加号(+):匹配前面的表达式一次或多次。如果要匹配真正的加号,需要使用转义字符\+。 5. 问号(?):匹配前面的表达式零次或一次。如果要匹配真正的问号,需要使用转义字符\?。 6. 左括号(()和右括号()):用于分组和捕获子表达式。如果要匹配真正的括号,需要使用转义字符\(和\)。 7. 左方括号([)和右方括号(]):用于定义字符类别。如果要匹配真正的方括号,需要使用转义字符\[和\]。 8. 左花括号({)和右花括号(}):用于指定匹配次数。如果要匹配真正的花括号,需要使用转义字符\{和\}。 9. 反向斜杠(/):用于转义正则表达式中的特殊字符。如果要匹配真正的反向斜杠,需要使用转义字符\/。 10. 美元符号($):匹配输入字符串的结尾位置。如果要匹配真正的美元符号,需要使用转义字符\$。 以上是一些常见的转义字符及其对应的正则表达式。如果你有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值