当我运行select regexp_extract("hosts: 192.168.1.1 192.168.1.2 host",'((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)',0);
我得到了 "192.168.1.1"。
但我想要的是192.168.1.1,192.168.1.2
或["192.168.1.1", "192.168.1.2"]
。
我应该做什么,改变注册或创建一个udf?
1条答案
按热度按时间o2gm4chl1#
拆分字符串,爆炸,检查每个部分是否与regexp匹配,收集匹配部分的数组,如果需要从数组中获取字符串,使用concat_ws()来连接数组。
result: