Spark SQL - rlike 忽略大小写

7

我正在使用Spark SQL,并尝试使用rlike比较字符串,它可以正常工作,但是我想了解如何忽略大小写。

这将返回true

select "1 Week Ending Jan 14, 2018" rlike "^\\d+ Week Ending [a-z, A-Z]{3} \\d{2}, \\d{4}"

然而,这会返回False,

select "1 Week Ending Jan 14, 2018" rlike "^\\d+ week ending [a-z, A-Z]{3} \\d{2}, \\d{4}"
1个回答

11

Spark使用标准的Scala正则表达式库,因此您可以在模式中内联处理标志,例如(?i)表示不区分大小写:

spark.sql("""select "1 Week Ending Jan 14, 2018" rlike "(?i)^\\d+ week ending [a-z, A-Z]{3} \\d{2}, \\d{4}"""").show()
+--------------------------------------------------------------------------------+
|1 Week Ending Jan 14, 2018 RLIKE (?i)^\d+ week ending [a-z, A-Z]{3} \d{2}, \d{4}|
+--------------------------------------------------------------------------------+
|                                                                            true|
+--------------------------------------------------------------------------------+

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接