正则表达式初步

对于正则表达式的整理,也参照了网上其他人的博客,在此做一个简单记录。

几个关键字符的作用:

t.n  .表示任何单个字符
匹配 tan tin ton t_n  t n等

t[]n 括号制定范围  单个字符 
t[aeio]n 匹配 tan ten tin ton

t(a|e|i|o|oo)n  可以匹配多个如oo 
匹配: tan ten tin ton toon

匹配次数:靠近左边
*  0/多次
+ 1/多次
? 0/1
{n} 恰好n次
{n,m}从n次到m次

999-99-9999和999999999都属于正确的格式。这时,你可以在连字符号后面加上“?”数量限定符号
[0-9]{3}\-?[0-9]{2}\-?[0-9]{4}

^ 否 表示不想匹配的字符
不以X开头的字符串 [^X][a-z]+

\s空白符
格式为“June 26, 1951”的生日日期中提取出月份部分,
[a-z]+\s+[0-9]{2},\s*[0-9]{4}
\s+必须空格
\s*可选空格

^    行的开头,请在正则表达式的开始处使用^。例如:^(abc)表示以abc开头的字符串。注意编译的时候要设置参数MULTILINE,如 Pattern p = Pattern.compile(regex,Pattern.MULTILINE);
$    行的结尾,请在正则表达式的结束处使用。例如:(^bca).*(abc$)表示以bca开头以abc结尾的行。

//String ss = "008109012345678";
//0出现0次或多次
//[0-9]{2} 出现2次 
//0? 出现0次/1次0

java中用法:
String regEx1 ="0*(81)0?([7,8,9])[0-9]{8,9}";
Pattern pat = Pattern.compile(regEx1);  
Matcher mat = pat.matcher(phone);  
return mat.find()

页面测试工具

更清晰的一篇文章   http://www.jb51.net/article/16829.htm    我认为是写的比较清晰,一看就懂的。

另一篇文章   http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html    没看全 辜负了30分钟 先留着



  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值