Parameter | Type | Description |
---|---|---|
input | string | the string to search for strings matching the regular expression. |
regex | string | the regular expression to match |
group | integer | an optional regular expression group number, defining which portion of the matching string will be returned |
Example
query:
SELECT sales_teams.sales_agent
FROM sales_teams
WHERE REGEXP_EXTRACT(sales_agent, "(.*) (H.*)")
results:
sales_agent |
---|
Daniell Hammack |
Versie Hillebrand |
Markita Hansen |
Kary Hendrixson |
Niesha Huffines |
query:
SELECT REGEXP_EXTRACT(sales_agent, "(.*) (.*)", 2) as last_name
FROM sales_teams
ORDER BY last_name
LIMIT 5
results:
last_name |
---|
Anderson |
Ascencio |
Berthelot |
Bicknell |
Cantrell |
The second argument in the REGEX
function is written in the standard Java regular expression format and is case sensitive. In a standard Java regular expression the .
stands as a wildcard for any one character, and the *
means to repeat whatever came before it any number of times. In a .*
regular expression, the Java single wildcard character is repeated, effectively making the .*
regular expression operate the same way as the *
wildcard does elsewhere in SQL.