# REGEXP_EXTRACT

返回与正则表达式匹配的子字符串。

此函数会在指定的字符串中查找符合正则表达式的内容, index 为空默认返回第一个匹配的子字符串,未匹配则返回空字符串。

# 语法

REGEXP_EXTRACT(str, pattern, [index])

  • str:给定的字符串对象
  • pattern:一个用于匹配字符串的正则表达式,正则表达式中的\需要连续输入2个,第一个\表示转义。正则表达式的语法参考 (opens new window)
  • index:可选,匹配的子字符串索引, 1 表示返回第一个匹配的子字符串

# 示例

  1. REGEXP_EXTRACT("abc123","[0-9]+") 提取数字,返回字符串123index为空默认返回第一个匹配项
  2. REGEXP_EXTRACT("ab4c123","[0-9]",2) 提取第二个匹配的数字,返回字符串1
  3. REGEXP_EXTRACT("12.34","\\d*(?=\.)") 提取小数部分的整数部分,返回字符串12
  4. REGEXP_EXTRACT("我Cd123","[A-Z][a-z]") 提取字母,返回字符串Cd
  5. REGEXP_EXTRACT("123小明AB","[\\u4e00-\\u9fa5]*") 提取人名,返回字符串小明
  6. REGEXP_EXTRACT("13487598742","[0-9]{4}$") 提取手机号后四位,返回字符串8742
  7. REGEXP_EXTRACT("210502198412020944","\\d{8}(?=\\d{4}$)") 提取身份证的出生年月,返回字符串19841202
  8. REGEXP_EXTRACT("月亮在5月12日最亮","\\d{1,2}月\\d{1,2}日") 提取文本中的日期,返回字符串5月12日
  9. REGEXP_EXTRACT("在https://www.baidu.com中下载","https?://.+?(com|cn|net).*?") 提取文本中的网址,返回字符串https://www.baidu.com
  10. REGEXP_EXTRACT("我的邮箱是xxxx@qq.com","[\\w]+(\.[\\w]+)*@[\\w]+(\.[\\w]*)") 提取文本中的qq邮箱,返回字符串xxxx@qq.com
  11. REGEXP_EXTRACT("ip地址是192.168.2.3","(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}") 提取文本中的ipv4地址,返回字符串192.168.2.3
是否有帮助?
0条评论
评论