REGEXP_EXTRACT 函数

regexp_extract(str, regexp [, idx])

功能描述

REGEXP_EXTRACT 函数利用指定的正则表达式(regexp)从输入字符串(str)中提取匹配的文本。该函数使用 re2 正则表达式引擎进行匹配。

参数说明

  • str (string):待匹配的输入字符串。
  • regexp (string):用于匹配的正则表达式字符串。
  • idx (int, 可选):要抽取的分组(group)索引。索引从 1 开始,默认值为 1,表示提取第一个分组。若指定值为 0,则表示匹配整个正则表达式。

返回值

返回一个字符串(string),包含匹配的文本。

使用示例

-- 示例 1:提取字符串中的数字
> SELECT regexp_extract('价格为:100-500元', r'(\d+)-(\d+)', 1);
'100'

-- 示例 2:提取特定字符前的文本
> SELECT regexp_extract('abc123def', r'(.*)\d', 1);
'abc12'

-- 示例 3:提取括号内的文本
> SELECT regexp_extract('(这里是示例)', r'((.*))', 1);
'这里是示例'

-- 示例 4:使用 idx 参数提取第二个分组
> SELECT regexp_extract('纽约-美国', r'(.*)-(.*)', 2);
'美国'

-- 示例 5:匹配整个正则表达式
> SELECT regexp_extract('需要匹配的文本', r'(.*)$', 0);
'需要匹配的文本'

联系我们
预约咨询
微信咨询
电话咨询