diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt index a956f36e7f..f5675976be 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt @@ -674,6 +674,7 @@ predicate = | concat '*=' concat | concat '=*' concat | row2 'OVERLAPS' row2 +| 'REGEXP_LIKE' '(' concat ',' concat ')' ; row2 = [ 'ROW' ] '(' field ',' field ')' diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index f90b8b1964..6b0a07a894 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -4191,7 +4191,15 @@ final class ParserImpl implements Parser { return exists(select); } + else if (parseKeywordIf(ctx, "REGEXP_LIKE")) { + parse(ctx, '('); + Field f1 = parseField(ctx); + parse(ctx, ','); + Field f2 = parseField(ctx); + parse(ctx, ')'); + return f1.likeRegex((Field) f2); + } else { FieldOrRow left; Comparator comp;