/** * Returns the case canonical version of the given string. */ public static String caseCanonicalize(String s) { for (int i = 0, n = s.length(); i < n; ++i) { char ch = s.charAt(i); char cu = caseCanonicalize(ch); if (cu != ch) { StringBuilder sb = new StringBuilder(s); sb.setCharAt(i, cu); while (++i < n) { sb.setCharAt(i, caseCanonicalize(s.charAt(i))); } return sb.toString(); } } return s; }
/** * Returns the case canonical version of the given string. */ public static String caseCanonicalize(String s) { for (int i = 0, n = s.length(); i < n; ++i) { char ch = s.charAt(i); char cu = caseCanonicalize(ch); if (cu != ch) { StringBuilder sb = new StringBuilder(s); sb.setCharAt(i, cu); while (++i < n) { sb.setCharAt(i, caseCanonicalize(s.charAt(i))); } return sb.toString(); } } return s; }
@Override public RegExpTree simplify(String flags) { int n = text.length(); if (n == 0) { return Empty.INSTANCE; } if (flags.indexOf('i') >= 0) { String canonicalized = CaseCanonicalize.caseCanonicalize(text); if (!text.equals(canonicalized)) { return new Text(canonicalized); } } return this; }
@Override public RegExpTree simplify(String flags) { int n = text.length(); if (n == 0) { return Empty.INSTANCE; } if (flags.indexOf('i') >= 0) { String canonicalized = CaseCanonicalize.caseCanonicalize(text); if (!text.equals(canonicalized)) { return new Text(canonicalized); } } return this; }