对于 PySpark,我发现反引号包含了
DataFrame.colRegex()
这里、
这里和这个 SO 问题的正则表达式。这是文档字符串的示例DataFrame.colRegex
:
df = spark.createDataFrame([("a", 1), ("b", 2), ("c", 3)], ["Col1", "Col2"])
df.select(df.colRegex("`(Col1)?+.+`")).show()
+----+
|Col2|
+----+
| 1|
| 2|
| 3|
+----+
SO 问题的
答案不会显示 Scala 的反引号。Pattern
它引用了该类的 Java 文档,但这并没有解释反引号。
此页面 指示在 Python 中使用反引号来表示修饰变量的字符串表示形式,但这不适用于正则表达式。
反引号的解释是什么?
反引号用于分隔列名称,以防列名称包含特殊字符。例如,如果您有一个名为的列
column-1
,并且您尝试您可能会得到一个
错误,因为解释器会将其视为
SELECT (column) - 1 FROM mytable
. 相反,您可以使用反引号分隔列名称来解决该问题: