regex - 从 hive 中的字符串中提取 email_address
问题描述
我是 hive 新手 我有一个字符串,我想从 hive 中的字符串中提取电子邮件地址
Select regexp_extract('my email address is xxxxxx@gmail.com', '@(.*)',0);
OK
@gmail.com
它只是提取域名,但我需要完整的电子邮件地址,即“xxxxxx@gmail.com”
我是正则表达式的新手
解决方案
您可以使用
Select regexp_extract('my email address is xxxxxx@gmail.com', '\\S+@\\S+',0);
Select regexp_extract('my email address is xxxxxx@gmail.com', '\\S+@\\S+\\.\\S+',0);
请注意双反斜杠,因为要在文本中表示文字反斜杠,您需要在字符串文字中使用两个。
该\S+@\S+
模式只匹配一个或多个非空白字符,@
然后再匹配一个或多个非空白字符。
该\S+@\S+\.\S+
模式执行相同的操作 + 然后它还匹配 a.
并再次匹配一个或多个非空白字符。
推荐阅读
- perl - 通过连接一个字符串和一个 int 将一个变量分配给另一个变量
- paypal - 如果我的服务器端语言没有 SDK,如何在我的网站上使用 PayPal 付款?
- ios - 在 Firebase 的 Tableview 中快速显示数据
- ios - 集合视图单元格不断增加为当前数组计数的两倍
- php - 在 PHP 中,为什么范围 aZ 和应用于字母表的 for 循环会产生不同的字符?
- sugarcrm - SugarCRM:使用 kreport 创建报告时加密字段
- jquery - 带有 Vue.js 数据表的 tr 包装器
- typescript - 如何为方法参数提供类型提示
- c++ - C++ 服务器/客户端聊天程序
- triggers - 如何创建 Apex 类?