例如:要取出收件人 *的
select regexp_extract('收件人为小明的15622150839','收件人为([\\u4E00-\\u9FFF]+)的',1 ) from tmp.t_gg limit 1;
select regexp_extract('收件人为小明的15622150839','收件人为([啊-龥]+)的',0 ) from tmp.t_gg limit 1;
select regexp_extract('收件人为小明的15622150839','收件人为([\\u4E00-\\u9FA5]+)的',1 ) from tmp.t_gg limit 1;
如果要取出手机号码
select regexp_extract('你好,李先生你的电话是15622150839','电话是([0-9])+',0 ) from tmp.t_gg limit 1;
regexp_extract函数
语法: regexp_extract(string subject, string pattern, int index)
返回值: string
说明: 将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。
第一参数: 要处理的字段
第二参数: 需要匹配的正则表达式
第三个参数:
- 0是显示与之匹配的整个字符串
- 1 是显示第一个括号里面的
- 2 是显示第二个括号里面的字段