gpt4 book ai didi

regex - 仅从 Hive 中的字符串字段中提取数字

转载 作者:行者123 更新时间:2023-12-02 16:58:15 24 4
gpt4 key购买 nike

我在 Hive 中有一个 super 简单的问题。我写了下面的摘录,它应该从字符串中返回“10”。当我在 regexr 上测试它时它有效,但在 Hive 中,它只是返回一个空白字段。

有人知道我做错了什么吗?

select REGEXP_EXTRACT('DOM_10GB_mth','/[0-9]*/g', 0)  

最佳答案

REGEXP_EXTRACT 函数需要一个正则表达式 pattern 作为第二个参数。在线正则表达式测试器中的 / 字符表示不属于正则表达式模式正则表达式定界符g 部分是一个正则表达式 flag(用于匹配字符串中多次出现的模式),它也不是模式的一部分。您应该只将一个字符串模式传递给 Hive 正则表达式函数。

此外,要提取一位或多位数字,您可以使用[0-9]+ 而不是[0-9]*,如* 仅匹配 0 次或多次出现。

使用

select REGEXP_EXTRACT('DOM_10GB_mth','[0-9]+', 0) 

参见 this regex demo .

请注意,在 regexr 或任何其他在线正则表达式测试器中,/[0-9]*/g pattern would not work either .

关于regex - 仅从 Hive 中的字符串字段中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55417793/

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