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,}改为其他数字即可。
在这里插入图片描述

能日赚30的APP试玩平台推荐,亲测有效

方法二

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,}改为其他数字即可。
在这里插入图片描述

能日赚30的APP试玩平台推荐,亲测有效

原文地址:https://www.cnblogs.com/shiqiboy3974/p/15058109.html