regexp_like

regexp_like

regexp_like 介绍

regexp_like(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_like('%SystemDrive%\Users\John', '%SystemDrive%\\Users.*');
true
> SET spark.sql.parser.escapedStringLiterals=false;
spark.sql.parser.escapedStringLiterals  false
> SELECT regexp_like('%SystemDrive%\\Users\\John', '%SystemDrive%\\\\Users.*');
true

提示:

使用 LIKE 来匹配简单的字符串模式。

Since: 3.2.0