gpt4 book ai didi

regex - Spark SQL - 仅匹配数字的正则表达式

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

我试图确保数据框中的特定列不包含任何非法值(非数字数据)。为此,我尝试使用正则表达式匹配 rlike收集数据中的非法值:

enter image description here

我需要使用字符串字符或空格或逗号或任何其他与数字不同的字符来收集值。我试过:

spark.sql("select * from tabl where UPC not rlike '[0-9]*'").show()

但这不起作用。它产生 0 行。

任何帮助表示赞赏。谢谢你。

最佳答案

rlike正在寻找字符串中的任何匹配项。星号 (*) 表示 0 或多个。
字符串中某处的零数字适用于每个可能的字符串。
您需要指定要从头开始匹配 ^直到字符串结束 $

spark.sql("select * from tabl where UPC not rlike '^[0-9]*$'").show()

或者,您也可以匹配字符串中的任何单个非数字字符 [^0-9]
spark.sql("select * from tabl where UPC rlike '[^0-9]'").show()

关于regex - Spark SQL - 仅匹配数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60148202/

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