Java限制同一字符出现N次
作者:互联网
之前都是用代码校验,后面采用正则来判断。
方法一
public static void main(String[] args) {
String str = "aaaaaavvdfrdfdggggg......z]]]].ff....技术实际上是事实上事事事事所属";
String pattern = "([`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?\\w[^x00-xff]])(\\1){2,}";
Matcher m = Pattern.compile(pattern).matcher(str);
while (m.find()) {
String group = m.group();
System.out.println(group);
}
}
打印结果
会将重复的字符打印出来,然后逻辑中将判断是否有重复的数据,需要验证什么字符往正则里添加,如需修改次数将{2,}
改为其他数字即可。
方法二
public static void main(String[] args) {
String str = "aaaaaavvdfrdfdggggg......z]]]].ff....技术实际上是事实上事事事事所属";
String pattern = "([^\\x22]+)(\\1){2,}";
Matcher m = Pattern.compile(pattern).matcher(str);
while (m.find()) {
String group = m.group();
System.out.println(group);
}
}
打印结果
与方法一执行结果一样,代码量更少,如需修改次数将{2,}
改为其他数字即可。
标签:字符,Java,String,同一,事事,pattern,试玩,str,group 来源: https://www.cnblogs.com/shiqiboy3974/p/15058109.html