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

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

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

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

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

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

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

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

      ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //email地址
      ^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //url
      ^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$ //年-月-日
      ^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$  //月/日/年
      ^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$   //Emil
      ^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$     //电话号码
      ^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$   //IP地址
      (^\s*)|(\s*$)   // 首尾空格
      ^[a-zA-Z][a-zA-Z0-9_]{4,15}$  // 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
      ^[1-9]*[1-9][0-9]*$  //  腾讯QQ号

你可能感兴趣的:(android,正则表达式)