正则
-
用一些特殊的符号和数字定义规范,具有验证其他字符串是否符合规范的功能;
-
其本质还是字符串
字符类
-
字符: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][09]$ -
\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次
浙公网安备 33010602011771号