正则式函数
本文介绍正则式函数的语法规则,包括参数解释、函数示例等。
函数列表
| 函数 | 描述 |
|---|---|
| 提取目标字符串中符合正则表达式的子字符串。 | |
| 判断目标字符串是否符合正则表达式。 | |
| 从目标字符串中提取符合正则表达式的子字符串。 | |
| 删除或替换目标字符串中符合正则表达式的全部子字符串。 | |
| 分割目标字符串,返回被分割后的子字符串合集。 |
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"] |