gpt4 book ai didi

hadoop - hive 和正则表达式

转载 作者:可可西里 更新时间:2023-11-01 14:31:54 26 4
gpt4 key购买 nike

我正在尝试过滤用户名中的所有 ip 地址。但这在我的查询中并不能正常工作:

select distinct regexp_extract(username, '^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$', 0) from ips. 

问题是他甚至将数字 1000000 识别为 ip 地址。知道如何解决吗?

最佳答案

您需要额外的反斜杠来转义特殊字符,例如 .或\s。在 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 的 wiki 上有更多信息。

尝试这样的事情:

select
distinct regexp_extract(ip, '^([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})$', 0) as match
from
ips
having
match <> "";

关于hadoop - hive 和正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18289445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com