正则表达式以及邮箱

[abc]     abc中的其中一个满足

[^abc]        非abc

[0-9A-Za-z]     0到9,A到Z,a到z中的值都满足

\d         digital 匹配数字字符

\D     非数字字符匹配

\s      space 留白,匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]

\S     非留白,匹配任何可见字符

\w     word匹配单词字符 类似于[0-9A-Za-z_] 

\W     匹配任何非单词字符 等价于[^0-9A-Za-z_] 

\t          匹配制表符

\f       匹配一个换页符

\r       匹配一个回车符

\n      匹配一个换行符

?           匹配前面的子表达式出现0次或者1次

+       匹配出现1次或者多次

*        匹配出现任意次

{n}       匹配n次,n为非负整数

{n,}      匹配至少n次,n为非负整数

{n,m}    匹配出现n次到m次,n,m为非负整数

.      匹配除“\n”和"\r"之外的任何单个字符

 

2,可能用到的地方

Pattern,Matcher;“abc”.matches(regex);oracle中的regexp_substr(mm.menu_info, '[^=]+&'), '[^&]+'),js中str.match(patt1);c#中的Regex;...

3,常用的正则表达式

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

手机号:^1(3|4|5|6|7|8|9)\d{9}$

身份证号码:

十八位: ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

十五位: ^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$

总:( ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)

想到哪写到哪,各位看官挑着看~

posted @ 2020-05-22 14:34  EspenWu  阅读(319)  评论(0编辑  收藏  举报