正则表达式编写规则

一、正则表达式匹配规则

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、获取到正则表达式规则

        Pattern pattern = Pattern.compile("\\d");

        传入的是正则表达式,注意一些需要用到转义字符反斜杠

2、获取Matcher对象

        Matcher matcher = pattern.matcher(String s);

        传入的是要检验匹配的字符串

3、检验是否匹配

        matcher.matches();

        返回值若匹配成功则为true否则为false

4、提取子串

        String str = matcher.group(n);

        n可以为0,1,2。。。  若为0则返回匹配成功的整个字符串,若为其他数字n则返回匹配成功的字符串的第n个子串。子串的内容是通过正则表达式中用括号()隔开的内容


版权声明:本文为weixin_61530746原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。