jdk1.4的正则表达式使用介绍

 sun终于在sdk正式支持正则表达的判定--java1.4的util里增加了个regex包。
  (正则的咚咚,Unix用户都应该比较熟悉。)
  大家不用到处找第三方的库或是自己写字符串的判定逻辑了。真算是我们的福音。
  只需要将注意力放在业务规则上就可以了。复用和正确性都会有很大的提高,逻辑也简单易懂,容易维护。
  在日常的字符串操作方面,会带来很大的方便,比如判断电子邮件地址,电话号码,身份证号码,文字过滤等等。
  下面我做了一个简单的邮件地址格式判断的测试(可以在main中直接运行打印),大家可以先了解一下:
  
  /*自定义电子邮件地址的商业逻辑--3到16字符长的用户名,后接@符号,再是用点分隔的域名。
  下面的mailstr正则表达式里面的/w是预定义的,等于[a-zA-Z_0-9]。还有很多,在后面的表达式说明中有说明,意思是这是一个可以为数字和大小写字母以及下划线的字符。[x]表示一个字符,但[]里面可以加多个字符,他们之间是或关系。{}是个数量的界定,这里{3,16}表示至少3个,最多16个,+,*都是表示重复任意次数,但是+表示至少一次,()用于多个字符的分组。*/
   String mailstr = "(//w|[.-]){3,16}@((//w|-)+.)*(//w)+" ;
  //新旧身份证号的表达式(没有作日期有效性的检查)
   String idstr ="(//d){15}|(//d){18}|(//d){17}[xX]";
   String mstr = "qiaohua2000@pa18.com";
   Pattern pn = Pattern.compile( mailstr ) ;
   boolean b = pn.matcher( mstr ).matches() ;
   System.out.println("regular:"+mailstr);
   System.out.println("matcher:"+mstr) ;
   System.out.println("result:"+b) ;
  
  大家可以试试不同的输入组合,看看是否符合逻辑?
  
  具体用法参见下面网址的
  Summary of regular-expression constructs Construct Matches 部分
  URL:
  http://java.sun.com/j2se/1.4/docs/api/java/util/regex/Pattern.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值