/** SQL {@code LIKE} function with escape. */ public static boolean like(String s, String pattern, String escape) { final String regex = Like.sqlToRegexLike(pattern, escape); return Pattern.matches(regex, s); }
/** SQL {@code SIMILAR} function with escape. */ public static boolean similar(String s, String pattern, String escape) { final String regex = Like.sqlToRegexSimilar(pattern, escape); return Pattern.matches(regex, s); }
/** * Translates a SQL LIKE pattern to Java regex pattern, with optional * escape string. */ static String sqlToRegexLike( String sqlPattern, CharSequence escapeStr) { final char escapeChar; if (escapeStr != null) { if (escapeStr.length() != 1) { throw invalidEscapeCharacter(escapeStr.toString()); } escapeChar = escapeStr.charAt(0); } else { escapeChar = 0; } return sqlToRegexLike(sqlPattern, escapeChar); }
/** * Translates a SQL SIMILAR pattern to Java regex pattern, with optional * escape string. */ static String sqlToRegexSimilar( String sqlPattern, CharSequence escapeStr) { final char escapeChar; if (escapeStr != null) { if (escapeStr.length() != 1) { throw invalidEscapeCharacter(escapeStr.toString()); } escapeChar = escapeStr.charAt(0); } else { escapeChar = 0; } return sqlToRegexSimilar(sqlPattern, escapeChar); }
String sqlPattern, char escapeChar) { similarEscapeRuleChecking(sqlPattern, escapeChar); throw invalidEscapeSequence(sqlPattern, i); throw invalidEscapeSequence(sqlPattern, i); javaPattern.append('['); insideCharacterEnumeration = true; i = sqlSimilarRewriteCharEnumeration( sqlPattern, javaPattern, case ']': if (!insideCharacterEnumeration) { throw invalidRegularExpression(sqlPattern, i); throw invalidRegularExpression(sqlPattern, len);
if (sqlPattern.charAt(i) == escapeChar) { if (i == (sqlPattern.length() - 1)) { throw invalidEscapeSequence(sqlPattern, i); throw invalidEscapeSequence(sqlPattern, i); throw invalidEscapeSequence(sqlPattern, position);
javaPattern.append(nextChar); } else { throw invalidRegularExpression(sqlPattern, i); throw invalidRegularExpression(sqlPattern, i); throw invalidRegularExpression(sqlPattern, i); } else { javaPattern.append(c);
String sqlPattern, char escapeChar) { similarEscapeRuleChecking(sqlPattern, escapeChar); throw invalidEscapeSequence(sqlPattern, i); throw invalidEscapeSequence(sqlPattern, i); javaPattern.append('['); insideCharacterEnumeration = true; i = sqlSimilarRewriteCharEnumeration( sqlPattern, javaPattern, case ']': if (!insideCharacterEnumeration) { throw invalidRegularExpression(sqlPattern, i); throw invalidRegularExpression(sqlPattern, len);
/** * Translates a SQL SIMILAR pattern to Java regex pattern, with optional * escape string. */ static String sqlToRegexSimilar( String sqlPattern, CharSequence escapeStr) { final char escapeChar; if (escapeStr != null) { if (escapeStr.length() != 1) { throw invalidEscapeCharacter(escapeStr.toString()); } escapeChar = escapeStr.charAt(0); } else { escapeChar = 0; } return sqlToRegexSimilar(sqlPattern, escapeChar); }
if (sqlPattern.charAt(i) == escapeChar) { if (i == (sqlPattern.length() - 1)) { throw invalidEscapeSequence(sqlPattern, i); throw invalidEscapeSequence(sqlPattern, i); throw invalidEscapeSequence(sqlPattern, position);
javaPattern.append(nextChar); } else { throw invalidRegularExpression(sqlPattern, i); throw invalidRegularExpression(sqlPattern, i); throw invalidRegularExpression(sqlPattern, i); } else { javaPattern.append(c);
/** SQL {@code LIKE} function. */ public static boolean like(String s, String pattern) { final String regex = Like.sqlToRegexLike(pattern, null); return Pattern.matches(regex, s); }
/** SQL {@code SIMILAR} function. */ public static boolean similar(String s, String pattern) { final String regex = Like.sqlToRegexSimilar(pattern, null); return Pattern.matches(regex, s); }
/** * Translates a SQL LIKE pattern to Java regex pattern, with optional * escape string. */ static String sqlToRegexLike( String sqlPattern, CharSequence escapeStr) { final char escapeChar; if (escapeStr != null) { if (escapeStr.length() != 1) { throw invalidEscapeCharacter(escapeStr.toString()); } escapeChar = escapeStr.charAt(0); } else { escapeChar = 0; } return sqlToRegexLike(sqlPattern, escapeChar); }
throw invalidEscapeSequence(sqlPattern, i); i++; } else { throw invalidEscapeSequence(sqlPattern, i);
/** SQL {@code LIKE} function. */ public static boolean like(String s, String pattern) { final String regex = Like.sqlToRegexLike(pattern, null); return Pattern.matches(regex, s); }
/** SQL {@code SIMILAR} function. */ public static boolean similar(String s, String pattern) { final String regex = Like.sqlToRegexSimilar(pattern, null); return Pattern.matches(regex, s); }
throw invalidEscapeSequence(sqlPattern, i); i++; } else { throw invalidEscapeSequence(sqlPattern, i);
/** SQL {@code LIKE} function. */ public static boolean like(String s, String pattern) { final String regex = Like.sqlToRegexLike(pattern, null); return Pattern.matches(regex, s); }
/** SQL {@code SIMILAR} function. */ public static boolean similar(String s, String pattern) { final String regex = Like.sqlToRegexSimilar(pattern, null); return Pattern.matches(regex, s); }