java-常用正则操作

场景一 使用Patter和Matcher(全匹配)

  1. 设计patter
    String pattern=“[0-9]{6,9}”;
  2. 使用Patter编译
    Pattern p=Pattern.compile(pattern);
  3. 使用返回的p去match
    Matcher m=p.matcher(ret.replaceAll(" “,”"));
  4. 从m中获取结果,这里使用m.matches()判断是否匹配
                            String pattern="[0-9]{6,9}";Pattern p=Pattern.compile(pattern);Matcher m=p.matcher(ret.replaceAll(" ",""));String target="";if(m.matches()){target = "xxxx="+ret.replaceAll(" ","");}else{target = ret.replaceAll(" ","");}

场景二 只使用Patter(全匹配)

String content = "sdfsdf234234dgdfgdffg";String pattern = "[0-9]{1,}";boolean isMatch = Pattern.matches(pattern, content);

总结

  1. Pattern.matches(regex, input);等价与Pattern.compile(regex).matcher(input).matches(),结果都是返回的是全匹配
  2. 全匹配 使用1的方式,直接反馈的bool值,是否全匹配
  3. 部分匹配 使用m.find,匹配字符串中的子字符串,可以使用如下m.find获取
        String pattern="[0-9]{1,9}";Pattern p=Pattern.compile(pattern);Matcher m=p.matcher("d114dfgdfg56");System.out.println(Pattern.matches(pattern,"dx33"));System.out.println(m.matches());while (m.find()){System.out.println(m.group());}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部