正則表達(dá)式查找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};
}
}