hive 正则表达式 匹配中文

2018/06/26 19:59
阅读数 735

例如:要取出收件人 *的

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 是显示第二个括号里面的字段

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部