正则式函数解析一串字符串,并且返回需要的一部分子串。

常见的正则式函数及含义如下:

函数名 含义 样例
regexp_extract_all(string, pattern) 返回字符串中命中正则式的所有子串,返回结果是一个字符串数组。 |*SELECT regexp_extract_all('5a 67b 890m', '\d+'),结果为['5','67','890']*|SELECT regexp_extract_all('5a 67a 890m', '(\d+)a') 结果为['5a','67a']
regexp_extract_all(string, pattern, group) 返回字符串中命中正则式的第group个()内部分,返回结果是一个字符串数组。 *| ` SELECT regexp_extract_all(‘5a 67a 890m’, ‘(\d+)a’,1) 结果为[‘5’,’67’]
regexp_extract(string, pattern) 返回字符串命中的正则式的第一个子串。 *|SELECT regexp_extract('5a 67b 890m', '\d+') 结果为'5'
regexp_extract(string, pattern,group) 返回字符串命中的正则式的弟group个()内的第1个子串。 *|SELECT regexp_extract('5a 67b 890m', '(\d+)([a-z]+)',2) 结果为'b'
regexp_like(string, pattern) 判断字符串是否命中正则式,返回bool类型,正则式可以只命中字符串的一部分。 *|SELECT regexp_like('5a 67b 890m', '\d+m') 结果为true
regexp_replace(string, pattern, replacement) 把字符串中命中正则式的部分替换成replacement。 *|SELECT regexp_replace('5a 67b 890m', '\d+','a') 结果为'aa ab am'
regexp_replace(string, pattern) 把字符串中命中正则式的部分删除,相当于regexp_replace(string,patterm,'') *|SELECT regexp_replace('5a 67b 890m', '\d+') 结果为'a b m'
regexp_split(string, pattern) 使用正则式把字符串切分成数组。 *|SELECT regexp_split('5a 67b 890m', '\d+') 结果为['a','b','m']