regexp_extract函数用法
语法
regexp_extract(string subject, string pattern, int index)
返回值: string
功能:将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。
第一参数: 要处理的字段
第二参数: 需要匹配的正则表达式
第三个参数:
- 0是显示与之匹配的整个字符串
- 1 是显示第一个括号里面的
- 2 是显示第二个括号里面的字段
附:正则匹配表达
1、元字符匹配
. 表示匹配除换行符以外的任意字符。
[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz] 不匹配这个集合中的任何一个字符
[/b] 匹配一个退格符
/b 匹配一个单词的边界
/B 匹配一个单词的非边界
/cX 这儿,X是一个控制符,//cM/匹配Ctrl-M
/d 匹配一个字数字符,//d/ = /[0-9]/
/D 匹配一个非字数字符,//D/ = /[^0-9]/
/n 匹配一个换行符
/r 匹配一个回车符
/s 匹配一个空白字符,包括/n,/r,/f,/t,/v等
/S 匹配一个非空白字符,等于/[^/n/f/r/t/v]/
/t 匹配一个制表符
/v 匹配一个重直制表符
/w 匹配字母、下划线、数字或汉字,等于[a-zA-Z0-9]
/W 匹配一个不可以组成单词的字符,等于[^a-zA-Z0-9]。
2、位置匹配
^ 表示匹配字符串的开始
$ 表示匹配字符串的结束
\b 表示匹配单词的开始或结束。
\B 表示匹配非单词的开始或结束
3、频率匹配
* 表示匹配重复0次或多次
+ 表示匹配重复一次或更多次
? 表示匹配重复0次或1次
{n} 表示匹配重复n次
{n,} 表示重复n次或更多次
{n,m} 表示重复n到m次
4、各种操作符的运算优先级
/ 转义符
(), (?:), (?=), [] 圆括号和方括号
*, +, ?, {n}, {n,}, {n,m} 限定符
^, $, anymetacharacter 位置和顺序
regexp_substr
regexp_substr(string, regex,postion,match_parameter)
参数:
第一参数:string : 被解析的字符串或字段名;
第二参数: regex: 正则表达式 ;
第三参数:postion:其实位置;
第四参数:match_parameter:出现的次数。
regexp
regexp:判断语句跟like、=、!=、not in 、in 类似。