正则表达式

regular expression可以帮助开发者实施很快的字符串操作,常见的操作比如像匹配、切割、替换和获取

尽管不像python那样具有优秀的reptile潜力,但是个人认为搞起来还是很不错的,个人推荐项目https://github.com/xiepuhuan/reptile.git

1、匹配:

        比如String str = "15225723153",我们需要判断该字符串是否是中国的通讯号码,这时候用正则表达式做一个模板(模板可以根据语法自由指定)来判断str是否匹配该模板就变得非常方便!下面来制作一个实例:

    String regex="1[358]\\d{9}"  //1代表第一个是1,[358]代表第二个数可以为3 or 5 or 8,\d代表可以为0-9任意值,{9}代表\d这样的数连续有9个

    Java中可以使用String的matches()方法来进行匹配,比如:

    boolean b = str.matches(regex);

    如此我们就可以实现简单匹配功能!

 

2、切割:

        如果现在有一字符串 String str = "song   ya hui    zhang   zheng           yang",我们现在要实现切割,切割的每个word都放置在数组中,实现方式如下:

        1、先定模板,因为我们要去按照空格去切割,但是空格键有多有少,怎么定义呢

        2、String regex = " +"      //+代表空格前面的值有最少有一个,

【注:】如果是?代表有一个或0个,* 代表做少是0个

 

3、替换:

        替换就更简单了,我们常常用的replace() 或者replaceAll()方法就是替换的方法,这里不再赘述

    

4、获取:

        比如我们现在对一个html网页进行数据读取,希望获取其中的邮箱数据,       

首先,我们还是先定义模板:

        String email  = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]{1,3})+";

        ok,下面来写代码:

        //这里拿本机的html作举例

         URL url = new URL("http://localhost:63342/web_sxcity/web_index/sx_login.html?_ijt=jpumq4sbp38te3dq0760upt0c2");

        //创建一个读取流 

        BufferReader br = new BufferReader(new InputStreamReader(url.openStream()));

        //创建一个集合

        List<String> arr = new ArrayList();

         String line = null;         

        //对html进行行读取,直到读取结束 

            while((line = br.readline)!=null){

        //对每行进行正则表达式匹配

                  Pattern p = Pattern.compile(email);

                   Matcher m = p.matcher(line);

        //对每行都进行正则表达式遍历

                    while(m.find){

        //如果有就添加到集合中

                           arr.add(m.group);

                     }

            }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值