REGEXP_EXTRACT函数用于在字符串source中按照pattern进行字符串匹配,并返回第group_id个组匹配到的字符串内容。
注意事项
REGEXP_EXTRACT函数在Hive兼容数据类型版本中遵循Java regex规范。而在1.0和2.0数据类型版本中,则遵循MaxCompute的规范。
命令格式
STRING REGEXP_EXTRACT(STRING <source>, STRING <pattern>[, BIGINT <group_id>])参数说明
source:必填。STRING类型,被匹配的字符串。
pattern:必填。STRING类型常量或正则表达式。用于匹配的子字符串或正则表达式。更多正则表达式编写规范,请参见正则表达式规范。
group_id:可选。BIGINT类型。取值大于等于0。
如果不指定group_id,默认为1,返回匹配的第一个组。
如果指定group_id,返回第group_id个组匹配到的字符串内容。
如果group_id等于0,则返回满足整个pattern的子串。
说明
数据以UTF-8格式保存。对于中文字符可以用对应的16进制编码表示,中文字符编码的范围是[\\x{4e00},\\x{9fa5}]。
返回值说明
返回STRING类型。返回规则如下:
如果pattern为空串或pattern中没有分组且未指定group_id,返回报错。
说明执行
SET odps.sql.bigquery.compatible=true;开启BigQuery兼容模式,如果pattern中没有分组且未指定group_id时,则返回满足整个pattern的子串。group_id非BIGINT类型或小于0时,返回报错。
source、pattern或group_id值为NULL时,返回NULL。
相关函数
REGEXP_EXTRACT函数属于字符串函数,更多查找字符串、转换字符串格式的相关函数请参见字符串函数。