全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
流计算

REGEXP_EXTRACT

更新时间:2018-03-27 10:56:18

语法

  1. VARCHAR REGEXP_EXTRACT(VARCHAR str, VARCHAR pattern, INT index)

入参

  • str

    VARCHAR 类型,指定的字符串。

  • pattern

    VARCHAR 类型,匹配的字符串。

  • index

    INT 类型 ,第几个被匹配的字符串。

注意:

正则常量请按照 Java 代码来写,因为SQL常量字符串会原原本本地 codegen 成 Java 代码。所以如果要描述一个数字(\d),需要写成 ‘\d’,也就是像在 Java 中写正则一样。

功能描述

使用正则模式pattern匹配抽取字符串str中的第index个子串,index 从1开始 正在匹配提取, 参数为null或者正则不合法返回null。

示例

  • 测试数据
str1 (VARCHAR) pattern1(VARCHAR) index1 (INT)
foothebar foo(.*?)(bar) 2
100-200 (\\d+)-(\\d+) 1
null foo(.*?)(bar) 2
foothebar null 2
foothebar “” 2
foothebar ( 2
  • 测试案例
  1. SELECT REGEXP_EXTRACT(str1, pattern1, index1) as result
  2. FROM T1
  • 测试结果
result(VARCHAR)
bar
100
null
null
null
null
本文导读目录