一、正则表达式匹配规则
1、简单匹配:
(1)"abc"——字符串中只能有这三个字符组成,其他的都不行
(2)有特殊字符需要转义(转义字符\)
————————————————————————————
(3)符号.可以匹配任意一个字符
(4)符号\s可以匹配一个空白字符(tab也是空白字符)
(5)符号\S可以匹配一个非空白字符(tab也是空白字符)
(6)符号\d可以匹配一个数字
(7)符号\D可以匹配一个非数字
(8)符号\w可以匹配一个字母、数字、下划线
(9)符号\W可以匹配一个非字母、非数字、非下划线
————————————————————————————
修饰符是指它们要放在上面符号的后面,作为修饰来确定对应字符的个数,如\d*
(10)修饰符*可以匹配多个字符
(11)修饰符?可以匹配零个或一个字符
(12)修饰符可以匹配至少一个字符
(13)修饰符{n}可以匹配n个字符
(14)修饰符{n,m}可以匹配n到m个字符
(15)修饰符{n,}可以匹配至少n个字符
2、复杂匹配
(1)^匹配开头,&匹配结尾(可写可不写,是为了规范)
(2)[....]匹配括号范围内的字符,若后面不跟修饰符不知道字符个数,则只能占用一个字符
①类似于[abc],表示匹配a或b或c的字符
②类似于[a-w],表示匹配a到w中的字符
③类似于[a-w0-9],表示匹配a到w中的某个字符或者数字0-9中的某一个数字
④类似于[a-w0-9_],表示匹配a到w中的某个字符或者数字0-9中的某一个数字或者下划线
⑤类似于[^a-w],表示匹配除a到w以外的字符(非)
(3)|表示或,匹配|两边的某个匹配规则,可以把|两边的内容用括号()括起来以便跟其他字符规则分开
二、编写正则表达式
1、获取到正则表达式规则
Patternpattern=Pattern.compile("\\d");
传入的是正则表达式,注意一些需要用到转义字符反斜杠
2、获取Matcher对象
Matchermatcher=pattern.matcher(Strings);
传入的是要检验匹配的字符串
3、检验是否匹配
matcher.matches();
返回值若匹配成功则为true否则为false
4、提取子串
Stringstr=matcher.group(n);
n可以为0,1,2。。。若为0则返回匹配成功的整个字符串,若为其他数字n则返回匹配成功的字符串的第n个子串。子串的内容是通过正则表达式中用括号()隔开的内容