入门正则表达式

"本文介绍了正则表达式的基本概念,如用于描述字符串规则,并展示了在Java中如何使用正则表达式进行匹配。讲解了从左到右的匹配规则,以及点号、w、s和D等特殊字符的用途。还提到了量词如*、+、?和{n,m}
摘要由CSDN通过智能技术生成

一、正则表达式概述

1、正则表达式是用来干嘛的?
正则表达式可以用字符串来描述规则,并用来匹配字符串;

2、正则表达式的好处:

  • 一个正则表达式就是一个描述规则的字符串(正则表达式就是字符串)
  • 只需要编写正确的规则就可以让正则表达式引擎去判断目标字符串是否符合规则
  • 正则表达式是一套标准,可用于任何语言
  • JDK内置正则表达式引擎:java.util.regex

示例:判断用户输入的年份是否是19xx年:

规则:第一位是1,第二位是9,第三位和第四位都是0-9
正则构造:1 9 \d \d
由于Java里 \ 表示的是转义字符,所以用字符串描述的正则就是"19\d\d"(正则中\d就是表示0-9中的一个整数)

package PatternText;

public class patternText01 {
    public static void main(String[] args) {
        String year = "1997";
        //boolean matches(String regex)
        //告知此字符串是否匹配给定的正则表达式。
        System.out.println(year.matches("19\\d\\d"));//true
    }
}

二、正则表达式的匹配规则

  • 从左到右规则匹配

精准匹配:“abc”
√ “abc"
× “ab”
× “Abc”
× “abcd”
特殊字符是需要转义的(如果不知道要不要转义的特殊字符,加上转义总是不会出错的),例:“a\¥c”>“a¥c"这里还没转为Java的字符串,如果转为Java的字符串应为"a\\¥c”
1、我们也可以用 . 点匹配任意字符,“a.c”
>“aoc”>“a*c”…都是可以的
2、\w可以匹配一个字母、数字或下划线,“java\w”
>“javaA”>“java_”>“java8”
3、可以用\s匹配空白字符,tab键也是空白字符,“A\sB”>“A B”>“A B”(但不能俩空白字符或没空白字符)
4、可以用\D匹配非数字,“00\D">“00A”>“00&”
在这里插入图片描述
修饰符 * 可以匹配任意个字符
修饰符 + 可以匹配至少一个字符
修饰符 ?可以匹配零个或一个字符
修饰符 {n} 可以匹配n个字符:“\d{6}”==>表示匹配六个数字
修饰符{n,m}可以匹配n~m个字符
修饰符{n,}可以匹配至少n个字符

在这里插入图片描述
在这里插入图片描述

三、在Java中的简单运用

1、boolean matches(String regex)
告知此字符串是否匹配给定的正则表达式。 (match:匹配)
2、String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假正经的小柴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值