正则表达式以及邮箱
[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}$
)
想到哪写到哪,各位看官挑着看~