概述
Java正则表达式之捕获组
- 需求
1.三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如helllo->hello
2.两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如helloo->hello
3.上面的规则优先“从左到右”匹配,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCC。 - 解决
String str = "heoolloooo";
System.out.println(str.replaceAll("(.)\1+","$1$1").replaceAll("(.)\1(.)\2","$1$1$2"));
其中()为捕获组,.表示匹配除"rn"之外的任何单个字符。1表示匹配第一个捕获组字母个数大于1但小于等于2的位置,1+表示大于等于2的字符个数,$1表示第一个捕获组里匹配的字符,比如.所匹配的是任意单个字符,则保留下来一个即可。
最后
以上就是俭朴茉莉为你收集整理的Java正则表达式之捕获组Java正则表达式之捕获组的全部内容,希望文章能够帮你解决Java正则表达式之捕获组Java正则表达式之捕获组所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复