Regex 带alteryx的正则表达式解析

Regex 带alteryx的正则表达式解析,regex,alteryx,Regex,Alteryx,其中一列包含如下数据,我只需要郊区名称,而不需要州或邮政编码 我正在使用Alteryx并尝试了regex(\)\s\,但只获得了一些新列的记录 输入: CABRAMATTA CANLEY HEIGHTS ST JOHNS PARK Parramatta NSW 2150 Claymore 2559 CASULA 输出 CABRAMATTA CANLEY HEIGHTS ST JOHNS PARK

其中一列包含如下数据,我只需要郊区名称,而不需要州或邮政编码

我正在使用Alteryx并尝试了regex
(\)\s\
,但只获得了一些新列的记录

输入:

CABRAMATTA          
CANLEY HEIGHTS      
ST JOHNS PARK       
Parramatta NSW 2150 
Claymore 2559       
CASULA
  
输出

CABRAMATTA          
CANLEY HEIGHTS      
ST JOHNS PARK       
Parramatta
Claymore
CASULA        

此正则表达式匹配所有字母单词,最多不包括澳大利亚州缩写(因为地址明显为澳大利亚):


负面展望包括一个单词边界,允许郊区以州缩写开头(见演示)。

根据Bohemian的答案展开,您可以使用分组在alteryx中进行REGEXP替换。因此:

REGEX_Replace([Field1], "(.*)(\VIC|NSW|QLD|TAS|SA|WA|ACT|NT)+(\s*\d+)" , "\1")

这将抓取与第一组匹配的任何东西(因此只抓取郊区)。第二组和第三组匹配州和邮政编码。这不是一个完美的正则表达式,但应该可以让您在大部分过程中达到目的。

我认为此工作流将帮助您:


您的问题不清楚。我正在尝试使用alteryx来删除州和邮政。请仔细查看输入和输出记录。对于Parramatta,我需要删除新南威尔士州和2150。是的,我理解。只是你忘了用精确的术语(即技术术语)来定义“州”和“邮政”。
REGEX_Replace([Field1], "(.*)(\VIC|NSW|QLD|TAS|SA|WA|ACT|NT)+(\s*\d+)" , "\1")