Java 正则表达式-总结

目录

  • 1.概念
  • 2.正则标记
    • 2.1 单个字符
    • 2.2 字符集
    • 2.3 简化字符表达式
    • 2.4 边界
    • 2.5 数量表达式
  • 3.问题
    • 3.1 为什么要使用"\\d"?

1.概念

正则表达式本质上是一种字符串的操作规则,可以更灵活的操作字符串的匹配、拆分,替换。

2.正则标记

Pattern类:定义要使用的表达式对象。
Matcher类:用于进行正则标记与指定内容的匹配

2.1 单个字符

符号 含义
\ 转义字符’\‘
\n 匹配换行(’\n‘)符
\r 回车符
\t 表示一个“\t”符号

eg:

 String pattern="\\d+";
 String content = "6789";
 //进行匹配
 boolean flag = content.matches(pattern);
 System.out.println("--"+flag);


2.2 字符集

符号 含义
[abc] 表示可能是字符a、字符a、字符c中的任意一位
[^abc] 表示不是字符a、字符a、字符c中的任意一位
[a-z] 表示所有小写字母
[a-zA-Z] 表示任意的一位字母,不区分大小写
[0-9] 0到9的任意一个数字
        String pattern="[789]";
        String content = "8";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);//true


        String pattern="[^789]";
        String content = "1";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);//true

        String pattern="[a-z]";
        String content = "bdhdyd";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);//true


2.3 简化字符表达式

符号 含义
. 任意一位任何字符。
\d 数字:[0-9]
\D 表示非数字
\w 表示任意字母、数字、_组成
\W 表示不是任意字母、数字、_组成
\s 表示任意的空白字符,如:’\t‘’\n’
\S 表示任意的非空白字符

eg:

        String pattern=".";
        String content = "#";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag); //true

        //仅代表一位
        String pattern="\\d";
        String content = "8";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);
        
        //仅代表一位
        String pattern="\\w";
        String content = "a";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);
	
	    //仅代表一位
        String pattern="\\s";
        String content = " ";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);



2.4 边界

符号 含义
^ 行的开头
$ 行的结尾

eg:

        //仅代表一位
        String pattern="^3[0-9]{2}7$";
        String content = "3567";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);

2.5 数量表达式

符号 含义
? 出现0次或1次
+ 出现1次或者多次
* 出现0次或1次、多次
{n} 出现恰好n次
{n,} 出现n次或者n次以上
{n,m} 出现n次到m次

eg:

        //仅代表一位
        String pattern="47?";
        String content = "4";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);

        //仅代表一位
        String pattern="[0-9]{1,}";
        String content = "4567";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);

3.问题

3.1 为什么要使用"\d"?

\代表转义符,\\ 描述的是\,所以如果要在字符串定义\,要使用\\,这就是要使用\\d的原因。

你可能感兴趣的:(Java基础)