正则式函数
本文介绍正则式函数的语法规则,包括参数解释、函数示例等。
函数列表
|
函数 |
描述 |
|---|---|
|
提取目标字符串中符合正则表达式的子字符串。 |
|
|
判断目标字符串是否符合正则表达式。 |
|
|
从目标字符串中提取符合正则表达式的子字符串。 |
|
|
删除或替换目标字符串中符合正则表达式的全部子字符串。 |
|
|
分割目标字符串,返回被分割后的子字符串合集。 |
regexp_extract函数
提取目标字符串中符合正则表达式的子字符串。
|
参数名称 |
描述 |
类型 |
是否必选 |
|---|---|---|---|
|
expr |
目标字符串。 |
String |
是 |
|
regularExpr |
包含捕获组的正则表达式,(\d)(\d)表示两个捕获组。 |
String |
是 |
|
n |
第n个符合正则表达式的子字符串。 |
Integer |
否 |
返回值类型:String类型
示例:SELECT REGEXP_EXTRACT('HTTP/2.0', '\d+')
|
类型 |
查询语句 |
返回结果 |
|---|---|---|
|
场景1 |
REGEXP_EXTRACT('HTTP/2.0', '\d+') |
2 |
|
场景2 |
REGEXP_EXTRACT ('HTTP/2.0', '\d+', 1) |
2 |
regexp_like函数
判断目标字符串是否符合正则表达式。
语法:regexp_like(expr, regularExpr)
|
参数名称 |
描述 |
类型 |
是否必选 |
|---|---|---|---|
|
expr |
目标字符串 |
String |
是 |
|
regularExpr |
包含捕获组的正则表达式,(\d)(\d)表示两个捕获组 |
String |
是 |
返回值类型:Boolean类型
示例:SELECT REGEXP_LIKE('HTTP/2.0', '\d+')
|
类型 |
查询语句 |
返回结果 |
|---|---|---|
|
场景 |
REGEXP_LIKE('HTTP/2.0', '\d+') |
true |
regexp_extract_all函数
从目标字符串中提取符合正则表达式的子字符串。
语法:regexp_extract_all(expr, regularExpr)
|
参数名称 |
描述 |
类型 |
是否必选 |
|---|---|---|---|
|
expr |
目标字符串 |
String |
是 |
|
regularExpr |
包含捕获组的正则表达式,(\d)(\d)表示两个捕获组 |
String |
是 |
返回值类型:Array类型
示例:SELECT REGEXP_EXTRACT_ALL('HTTP/2.0', '\d+')
|
类型 |
查询语句 |
返回结果 |
|---|---|---|
|
场景 |
REGEXP_EXTRACT_ALL ('HTTP/2.0', '\d+') |
["2","0"] |
regexp_replace函数
删除或替换目标字符串中符合正则表达式的全部子字符串。
|
参数名称 |
描述 |
类型 |
是否必选 |
|---|---|---|---|
|
expr |
目标字符串 |
String |
是 |
|
regularExpr |
包含捕获组的正则表达式,(\d)(\d)表示两个捕获组 |
String |
是 |
|
replaceStr |
替换的字符串 |
String |
否 |
返回值类型:String类型
示例:SELECT REGEXP_REPLACE('ab12cd34', '\d+'), REGEXP_REPLACE('ab12cd34', '\d+', '00')
|
类型 |
查询语句 |
返回结果 |
|---|---|---|
|
场景1 |
REGEXP_REPLACE('ab12cd34', '\d+') |
abcd |
|
场景2 |
REGEXP_REPLACE('ab12cd34', '\d+', '00') |
ab00cd00 |
regexp_split函数
分割目标字符串,返回被分割后的子字符串合集。
语法:regexp_split(expr, regularExpr)
|
参数名称 |
描述 |
类型 |
是否必选 |
|---|---|---|---|
|
expr |
目标字符串 |
String |
是 |
|
regularExpr |
包含捕获组的正则表达式,(\d)(\d)表示两个捕获组 |
String |
是 |
返回值类型:Array类型
示例:SELECT REGEXP_SPLIT('request_uri:/request/path-0/file-7','/')
|
类型 |
查询语句 |
返回结果 |
|---|---|---|
|
场景 |
REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') |
["request_uri:","request","path-0","file-7"] |