java-常用正则操作
场景一 使用Patter和Matcher(全匹配)
- 设计patter
String pattern=“[0-9]{6,9}”; - 使用Patter编译
Pattern p=Pattern.compile(pattern); - 使用返回的p去match
Matcher m=p.matcher(ret.replaceAll(" “,”")); - 从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);
总结
- Pattern.matches(regex, input);等价与Pattern.compile(regex).matcher(input).matches(),结果都是返回的是全匹配
- 全匹配 使用1的方式,直接反馈的bool值,是否全匹配
- 部分匹配 使用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());}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
