我有一段,我需要从表格中提取几个单词。段落如下:
这看起来像一个可疑帐户。请看详细 下面。姓名: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
不只是名称。电子邮件也是如此。
如何解决此问题?
答案 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: (.+)')