【发布时间】:2018-11-06 14:52:10
【问题描述】:
我正在尝试使用 Impala 编写一个正则表达式来匹配可能不存在第二个字符的两个字符之间的字符串。例如,我想匹配@ 字符和. 之间的所有内容(如果点运算符存在的话)。
- test@mytest.stackoverflow.com -> 返回 mytest
- test@mytest -> 返回 mytest
我编写了以下正则表达式并且它有效,但我认为它绝对可以以更简洁的方式编写。
regexp_extract(regexp_extract('test @ mytest.stackoverflow.com', '^([^.]*).*', 1), '@(.*?)', 1) ->mytest
【问题讨论】: