regexp_instr
regexp_instr 介绍
regexp_instr(str, regexp) - 在字符串中搜索正则表达式并返回一个整数,该整数表示匹配子字符串的起始位置。位置是基于 1 的,而不是基于 0。如果没有找到匹配项,则返回 0。
参数:
-
str - 一个字符串表达式。
-
regexp - 表示正则表达式的字符串。正则表达式字符串应该是一个 Java 正则表达式。
从 Spark 2.0 开始,我们的 SQL 解析器不再对字符串文字(包括正则表达式模式)进行转义。例如,要匹配 "\abc",regexp 的正则表达式可以是 "^\abc$"。
有一个 SQL 配置 'spark.sql.parser.escapedStringLiterals',可以用来回退到 Spark 1.6 关于字符串文字解析的行为。例如,如果启用了此配置,可以匹配 "\abc" 的 regexp 是 "^\abc$"。
Examples:
> SELECT regexp_instr('user@spark.apache.org', '@[^.]*');
5
Since: 3.4.0