正则表达式查找AA,ABC,ABCD等

正则表达式查找AA,ABC,ABCD等

public static int[]  indexAAA(final CharSequence input) {
    Pattern p = Pattern.compile("(\\d)\\1{2}");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 3};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexAAAA(final CharSequence input) {
    Pattern p = Pattern.compile("(\\d)\\1{3}");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 4};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexAABB(final CharSequence input) {
    Pattern p = Pattern.compile("(\\d)\\1(\\d)\\2");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 4};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexABBA(final CharSequence input) {
    Pattern p = Pattern.compile("(\\d)((?!\\\\1)\\d)\\2\\1");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 4};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexABAB(final CharSequence input) {
    Pattern p = Pattern.compile("(\\d\\d)\\1");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 4};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexAAAB(final CharSequence input) {
    Pattern p = Pattern.compile("(\\d)\\1\\1((?!\\1)\\d)");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 4};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexAAB(final CharSequence input) {
    Pattern p = Pattern.compile("(\\d)\\1((?!\\1)\\d)");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 3};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexABC(final CharSequence input) {
    Pattern p = Pattern.compile("((?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){2})\\d");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 3};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexABCD(final CharSequence input) {
    Pattern p = Pattern.compile("((?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){3}|(?:0(?=9)|9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){3})\\d");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 4};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexAAAAB(final CharSequence input) {
    Pattern p = Pattern.compile("(\\d)\\1\\1\\1((?!\\1)\\d)");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 5};
    } else {
        return new int[]{-1, -1};
    }
}

public static int[] indexABCABC(final CharSequence input) {
    Pattern p = Pattern.compile("((?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d)\\1");
    Matcher m = p.matcher(input);
    Log.i(TAG, m.toString());
    if (m.find()) {
        return new int[]{m.start(), 6};
    } else {
        return new int[]{-1, -1};
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。