正则

正则

  • 用一些特殊的符号和数字定义规范,具有验证其他字符串是否符合规范的功能;

  • 其本质还是字符串

字符类

  • 字符:x;代表是字符串x,需要匹配的字符串内容就是x

String str = "abc";
String regex = "abc";
System.out.println(str.matches(regex));
  • 字符:\;代表的是反斜线字符‘\’

String str = "\\";
String regex = "\\\\";//表示一个\
System.out.println(str.matches(regex));//true
  • 字符:\t;代表制表符,

  • 字符:\n:代表换行符,

  • 字符:\r;代表回车符,

  • 字符类:[a,__c9],即代表的是匹配"a"、",","__","9"中的一个字符;

  • 字符类:[^abc],代表匹配a、b、c以外的任意字符

  • 字符类:[a-zA-Z],代表匹配任意一个大写或小写字母的字符

  • 字符类:[0-9],代表匹配0到9的一个数字,包括9

  • 字符类:[a-zA-Z_0-9],代表匹配小写字母、大写字母、数字、_(下划线)其中任意一个

  • 字符类:[a-z][0-9][a-f][5-9],代表待匹配的字符串第一个为a-z,第二个为0-9,第三个为a-f,第四个为5-9,;

预定义字符类

  • .:代表是一个任意字符;.在[]内只可匹配点,不在[]内可匹配任意字符;

String str = "ab15";
String regex = "....";
System.out.println(str.matches(regex));//true
  • \d:代表0-9的数字,相当于[0-9],包括9;匹配时需添加转义字符

  • \w:代表字母、数字、下划线,相当于[a-zA-Z_0-9];匹配时需添加转义字符

边界匹配

  • ^:代表行的开头;

  • $:代表行的结尾;^[abc][0­9]$

  • \b:代表单词边界;\b[abc]\b,代表x(a或b或c)的前后边界需均为非字母字符

数量词

  • X?:X出现一次或没有出现

  • X*:X出现多次或没有出现

  • X+:X出现一次或多次

  • X{n}:X出现恰好n次

  • X{n,}:X出现至少n次

  • X{n,m}:X出现至少n次,最多m次

posted @ 2022-08-16 09:26  大嘟肚  阅读(108)  评论(0)    收藏  举报