之前都是用代码校验,后面采用正则来判断。
方法一
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,}
改为其他数字即可。