blob: e0c9bd0a669607cf619a0f6f5c2c30fa82325344 [file] [log] [blame]
package org.unicode.cldr.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexUtilities {
public static int findMismatch(Matcher m, CharSequence s) {
int i;
for (i = 1; i < s.length(); ++i) {
boolean matches = m.reset(s.subSequence(0, i)).matches();
if (!matches && !m.hitEnd()) {
break;
}
}
return i - 1;
}
public static int findMismatch(Pattern p, CharSequence s) {
Matcher m = p.matcher("");
return findMismatch(m, s);
}
public static String showMismatch(Matcher m, CharSequence s) {
int failPoint = findMismatch(m, s);
String show = s.subSequence(0, failPoint) + "☹" + s.subSequence(failPoint, s.length());
return show;
}
public static String showMismatch(Pattern p, CharSequence s) {
Matcher m = p.matcher("");
return showMismatch(m, s);
}
public static final Pattern PATTERN_3_OR_4_DIGITS = PatternCache.get("\\d{3,4}");
}