iflytek_wjzhu 发表于 2013-1-14 18:04:03

Android日记之2012/02/12——Android中正则表达式使用

在项目中我们总会遇到一些字符匹配的时候,最典型的就是验证用户输入的邮箱或者手机号是否符合格式规范。那我们在做这些匹配的时候,可以有两种方式。
      
      1、 这是一种笨办法。就是自己根据项目的要求来写一个匹配的类,通过一个字符一个字符来匹配,从而得到自己想要的结果。

      2、 还有一种就是使用正则表达式。这是普遍都回通用的方法。Android中使用正则,只要3句话:

      Patternpattern = Pattern.compile(reg),reg表示的是正则表达式

      Matchermatcher = pattern.matcher(string),string表示的是需要匹配的字符

      matcher.matcher(),这边就是直接返回一个boolean值,来表示正确与否

      正则表达式用起来挺容易的,但是,正则表达式的书写很是头痛。基本的语法就不讲了,太琐碎了,网上相关的资源也比较多。还有就是正则表达式中的转义字符,我在2011年的12.28号那篇日记中写过了,也就不重复了。

      这边就贴点平时常用的一些正则表达式

      ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //email地址
      ^+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //url
      ^(d{2}|d{4})-((0({1}))|(1))-((({1}))|(3))$ //年-月-日
      ^((0({1}))|(1))/((({1}))|(3))/(d{2}|d{4})$//月/日/年
      ^(+)@(([{1,3}.{1,3}.{1,3}.)|((+.)+))({2,4}|{1,3})(]?)$   //Emil
      ^((\+?{2,4}\-{3,4}\-)|({3,4}\-))?({7,8})(\-+)?$   //电话号码
      ^(d{1,2}|1dd|2d|25).(d{1,2}|1dd|2d|25).(d{1,2}|1dd|2d|25).(d{1,2}|1dd|2d|25)$   //IP地址
      (^\s*)|(\s*$)   // 首尾空格
      ^{4,15}$// 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
      ^**$//腾讯QQ号
页: [1]
查看完整版本: Android日记之2012/02/12——Android中正则表达式使用