正则表达式的几个应用

前几天刚学了正则表达式,真是犀利,现在来JE回顾回顾。

具体的语法到处都有就不贴在这里了,下面的链接有更加详细的说明http://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/regex/Pattern.html

几个应用的例子分析:

1手机号码匹配

^((13[0-9])|(15[^4])|(18[0,5-9]))\d{8}$

只支持3大运营商的手机号段

^$是行开始和结束的符号

这个共分为两大部分(13[0-9])|(15[^4])|(18[0,5-9])和\d{8}

(13[0-9])|(15[^4])|(18[0,5-9])是电话号码前3位的控制

13[0-9]表示130到139的3位数

15[^4,\D]表示除了154的15号段

18[0,5-9]表示180和185-189

\\d{8}是后8位数字的控制

2电话号码匹配

(^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|(^0?1[35]\d{9}$)

(\d{2,4}[-_-—]?)?表示2到4位的数字后面接-_-—中的一个或者一个也不接,更或者前面的所有都没有

\d{3,8}([-_-—]?\d{3,8})?表示3到8位的数字后面接-_-—中的一个或者不接,后面再接3到8位的数字更或者第一部分的3到8位数字后面什么都不接

^0?1[35]\d{9}$表示0或者没有后面接13或者15再接9位数字

3非负正数

^\d+$

简单就不分析

4整数

^-?\d+$

简单不分析

5非负小数

^\d+(\.\d+)?$

简单不分析

6Email地址

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

一个或者多个单词字符或者-在这个字符中间可以有.

然后接个@xxx(.xxx)+格式的字符串

7IP地址

2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

不解释

8中文字符串

[\u4e00-\u9fa5]*
  

9正整数或者正小数

^([1-9][0-9]*)|0(\.\d+)?)$

10通讯录串

如:otto/13812345678,中文名字/13812345678,otto_liu/13812345678,13812345678

^((([\u4e00-\u9fa5[\d]_-[\w][\S]]+)/)?[\d]{11}[,,])*((([\u4e00-\u9fa5[\d]_-[\w][\S]]+)/)?[\d]{11})$

相关推荐