[abc] abc中的其中一个满足
[^abc] 非abc
[0-9A-Za-z] 0到9,A到Z,a到z中的值都满足
d digital 匹配数字字符
D 非数字字符匹配
s space 留白,匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ f v]
S 非留白,匹配任何可见字符
w word匹配单词字符 类似于[0-9A-Za-z_]
W 匹配任何非单词字符 等价于[^0-9A-Za-z_]
匹配制表符
f 匹配一个换页符
匹配一个回车符
匹配一个换行符
? 匹配前面的子表达式出现0次或者1次
+ 匹配出现1次或者多次
* 匹配出现任意次
{n} 匹配n次,n为非负整数
{n,} 匹配至少n次,n为非负整数
{n,m} 匹配出现n次到m次,n,m为非负整数
. 匹配除“ ”和" "之外的任何单个字符
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}$
)
想到哪写到哪,各位看官挑着看~