正则表达式
字符类:
1、用于表示一个字符的特殊格式,使用[]
2、说明:
1、无论中括号中写什么内容,最终一定只能表达一个字符
2、中括号中是可能出现的字符的罗列、范围、运算
3、表示方式:
1、罗列:[abc]表示a、或者b、或者c中的任意一个字符
2、排除:[^abc]表示除了a、b、c意外的任意单个字符
3、范围:[a-mb-z]表示a-z任意单个字符
预定义字符类
1、有一些字符类型经常要使用,使用字符类写又太麻烦,正则表达式就提前帮我们定义好了这些字符类,起了名字,直接使用名字符号即可,称为“预定义字符类”
2、罗列:
\d:表示任意单个数字字符
\D:表示任意非数字的单个字符
\s:表示任意空格的单个字符
\S:表示任意非空格的单个字符
\w:表示[a-zA-Z0-9_]
\W:表示出了\w以外的所有特殊符号
. :表示任意单个字符
\. :表示普通的.字符
3、说明:
1、正则表达式中的预定义字符类,大多数都是两个字符,表达一类内容,其中第一个是一个普通的反斜线
2、java中无法直接使用单个反斜线表示一个反斜线,只能使用\\表达一个反斜线
数量词
1、用于描述字符类型出现的次数
2、说明:
数量词只能修饰紧挨着的前面的单个字符
3、分类:
模糊的数量词
精确的数量词
4、模糊的数量词:
X? X字符出现0次或者1次
X+ X字符出现1次或者多次
X* X字符出现0次、1次或者多次
5、精确的数量词:
X{m} X字符恰好出现m次
X{m,} X至少出现m次
X{m,n} X至少出现m次,之多出现n次,包含m也包含n