正则表达式

单个字符

\\:表示转义字符“\”

\t:表示“\t”

\n:匹配换行(\n)符号

字符集

【abc】:表示可能是字符a或者是字符b或者是字符c中的任意一位

【^abc】:表示不是a、b、c中的任意一位

【a-z】: 表示所有的小写字母

【a-zA-Z】:表示任意的一位字母,不区分大小写

【0-9】: 表示任意的一位数字 

3、简化的字符集表达式

.: 表示任意的一位字符

\d: 等价于【0-9】

\D:等价于【^0-9】

\s:表示任意的空白字符,例如:“\t”、"\n"

\S:表示任意的非空白字符;

\w:等价于【a-zA-Z_0-9】,表示由任意的字母、数字、下划线组成;

\W:等价于【^a-zA-Z_0-9】

4、边界匹配

^:开始

$:结束

5、数量的表达

?:表示的出现的次数为0次或1次;

+:表示此正则可以出现1次或多次;

*:表示此正则可以出现0次、1次或多次;

{n}:表示此正则正好出现n次;

{n,}:表示此正则出现n次以上(包含n次);

{n,m}:表示此正则出现n~m次。

6、逻辑运算

正则1正则2:正则1判断后判断正则2

正则1|正则2:正则1或正则2有一组满足即可

(正则):将多个正则作为一组,可以为这一组单独设置出现的次数

 举例:

1、判断字符串是否是数字

数字:由整数和小数组成。 10.1

\\d+(\\.\\d+)?

2、判断字符串是否是IPv4地址

IP地址:192.168.1.1

(\\d{1,3}\\.){3}\\d{1,3}

3、判断是否是日期格式

\\d{4}-\\d{2}-\\d{2}

4、判断电话号码

格式一:11111111;

格式二:010-11111111;

格式三:(010)-11111111;

(   (\\d{3,4}-)   |  \\ (\\d{3,4}-\\)   )?  \\d{7,8}

 5、验证email地址

格式一:由字母、数字、_组成,

\w+@\w+\\.\w+

格式二:其中必须以字母数字开头和结尾,

【a-zA-Z】【a-zA-Z0-9_\\.】{0.28}\\W+\\.(net|cn|com)

String类正则的支持

Pattern pattern = Pattern.compile(regex);  编译正则

Matcher mat = pattern.matcher(str);

boolean result = mat.matches();

 

posted @ 2018-10-28 20:56  无敌多么,无敌寂寞  阅读(241)  评论(0编辑  收藏  举报