RegEx用于使用Tableau提取段落中的多个单词

时间:2019-04-25 15:16:14

标签: regex tableau

我有一段,我需要从表格中提取几个单词。段落如下:

  

这看起来像一个可疑帐户。请看详细   下面。姓名:John Mathew电子邮件:john.mathew@abc.com电话:+1   111-111-1111部门:abc

     

有关更多查询,请联系:----

姓名,电子邮件,电话和部门在同一行中,并用空格分隔。我使用了以下正则表达式,它仅对部门有效:

regexp_extract([CASE DESCRIPTION],'Department : (.+)')

使用此名称,我得到:

  

姓名:John Mathew电子邮件:john.mathew@abc.com电话:+1 111-111-1111   部门:abc

不只是名称。电子邮件也是如此。

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

在我看来,问题在于您的正则表达式只是将“(。+)”作为其捕获组,这基本上意味着“所有内容”(在指定的字符串之后)。由于这些字段全部在一行上,因此“名称”后的所有内容都包括电子邮件,电话和部门。 (正则表达式可与部门一起使用,因为这是最后的事情。)
因此,要使其正常工作,您需要给正则表达式添加除行尾之外的其他内容以停止。要仅捕获名称,您需要在Email标记之前停下来,依此类推。

Name = regexp_extract([CASE_DESCRIPTION],'Name: (.+) Email:')  
email = regexp_extract([CASE_DESCRIPTION],'Email: (.+) Phone:')
phone = regexp_extract([CASE_DESCRIPTION],'Phone: (.+) Department:')
department = regexp_extract([CASE_DESCRIPTION],'Department: (.+)')