Android中的正则表达式Regex使用

  对于数据的提取查找,我们推荐大家使用功能强大的正则表达式,在Android平台中可以方便的使用Java VM中自带的Regex正则表达式库,实际测试性能比STL和Boost的差不了多少,当然了Android上的正则库是NDK编写的底层。
  这里我们就拿常用的电话号码匹配来做个例子,大家都知道国外的号码中间有几个横杠,这里我们就用国内的区号来测试吧。
  String phoneArray = "cwj 的号码:021-12345\n" + "smart 的号码:021-88888\n"+ "李雷 的号码:010-99999\n" + "韩美美 的号码:021-66666\n";
  如果我们需要匹配以021开头的正则表达式为 .*021-\\d{5} ,我们使用Java的Pattern类编译封装,使用matcher来查找,其中group方法就是结果,当然group(0)是找的自己串,同时可能有多个结果,注意数组下溢问题。
  Pattern pattern = Pattern.compile(".*021-\\d{5}");
  Matcher matcher = pattern.matcher(phones1);
  while(matcher.find())
  {
  String s= matcher.group() ;
  Log.e(s,"android123.com.cn"); // 使用Android的Logcat查看运行结果,直接使用e标志红色的为结果。
  }
  正则表达式相对强大,如果过去做过Web开发的你,对于用户输入的过滤可能相当的熟悉。具体的正则式编写可以查看网上的相关内容。
  转自:http://www.android123.com.cn/androidkaifa/426.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值