regexp
regexp 介绍
regexp(str, regexp) - 如果 str 匹配 regexp,则返回真;否则返回假。
参数:
-
str - 一个字符串表达式
-
regexp - 一个字符串表达式。正则表达式字符串应该是一个 Java 正则表达式。
从 Spark 2.0 开始,我们的 SQL 解析器不再对字符串文字(包括正则表达式模式)进行转义。例如,要匹配 "\abc",regexp 的正则表达式可以是 "^\abc$"。
有一个 SQL 配置 'spark.sql.parser.escapedStringLiterals',可以用来回退到 Spark 1.6 关于字符串文字解析的行为。例如,如果启用了此配置,可以匹配 "\abc" 的 regexp 是 "^\abc$"。
Examples:
> SET spark.sql.parser.escapedStringLiterals=true;
spark.sql.parser.escapedStringLiterals true
> SELECT regexp('%SystemDrive%\Users\John', '%SystemDrive%\\Users.*');
true
> SET spark.sql.parser.escapedStringLiterals=false;
spark.sql.parser.escapedStringLiterals false
> SELECT regexp('%SystemDrive%\\Users\\John', '%SystemDrive%\\\\Users.*');
true
提示:
使用 LIKE 来匹配简单的字符串模式。
Since: 3.2.0