[ https://issues.apache.org/jira/browse/CALCITE-5858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17752438#comment-17752438 ]
hongyu guo edited comment on CALCITE-5858 at 8/9/23 3:09 PM: ------------------------------------------------------------- Calcite has already implement a function named 'REGEXP_REPLACE'(CALCITE-3680), which use java.util.regex.{Matcher, Pattern} to match regular expression. But BigQuery say {quote}Note: GoogleSQL provides regular expression support using the [re2|https://github.com/google/re2/wiki/Syntax] library. {quote} I think all the regex function in calcite should use the same library. (If I have any misconceptions, please correct me.) re2 is a C++ implemented regular expression, I don't know if the two library has the same output for the same input. was (Author: JIRAUSER300840): Calcite has already implement a function named 'REGEXP_REPLACE'(CALCITE-3680), which use java.util.regex.{Matcher, Pattern} to match regular expression. But BigQuery say {panel:title=BigQuery} Note: GoogleSQL provides regular expression support using the [re2|https://github.com/google/re2/wiki/Syntax] library. {panel} I think all the regex function in calcite should use the same library. (If I have any misconceptions, please correct me.) re2 is a C++ implemented regular expression, I don't know if the two library has the same output for the same input. > Add REGEXP_CONTAINS, REGEXP_EXTRACT, REGEXP_EXTRACT_ALL, REGEXP_INSTR, > REGEXP_REPLACE and REGEXP_SUBSTR functions (enabled in BigQuery library) > ----------------------------------------------------------------------------------------------------------------------------------------------- > > Key: CALCITE-5858 > URL: https://issues.apache.org/jira/browse/CALCITE-5858 > Project: Calcite > Issue Type: New Feature > Reporter: Jerin John > Assignee: Jerin John > Priority: Major > > Add support for REGEX_* string functions in BigQuery. > Function descriptions: > * REGEXP_CONTAINS: Returns TRUE if input value is a partial match for the > regular expression. > * REGEXP_EXTRACT: Returns the substring in input value that matches the > regular expression. Returns NULL if there is no match. > * REGEXP_EXTRACT_ALL: Returns an array of all substrings of input value that > match the regular expression. Returns an empty array if there is no match. > * REGEXP_INSTR: Returns the lowest 1-based position of a regular expression > in an input value. > * REGEXP_REPLACE: Returns a STRING where all substrings of input value that > match regular expression are replaced with the input replacement. > * REGEXP_SUBSTR: Synonym for REGEXP_EXTRACT, returns the substring in input > value that matches the regular expression. Returns NULL if there is no match. > More on these functions and their syntax may be found here: [BigQuery > Doc|https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions#regexp_contains] -- This message was sent by Atlassian Jira (v8.20.10#820010)