Sql spark regexp_提取函数的groupIdx参数

Sql spark regexp_提取函数的groupIdx参数,sql,regex,apache-spark,apache-spark-sql,Sql,Regex,Apache Spark,Apache Spark Sql,我不明白最后一个参数groupIdx在下面的函数中是如何工作的,我在文档中找不到任何详细信息。我将此函数与groupIdx=0一起使用,当我将此值更改为>0时,收到一个错误java.lang.IndexOutOfBoundsException:无组1。有人能解释一下它是如何工作的以及何时可以应用groupIdx>0吗 regexp_extract(e: Column, exp: String, groupIdx: Int): Column 该参数提取使用指定参数捕获的匹配部分 见: regex

我不明白最后一个参数groupIdx在下面的函数中是如何工作的,我在文档中找不到任何详细信息。我将此函数与groupIdx=0一起使用,当我将此值更改为>0时,收到一个错误
java.lang.IndexOutOfBoundsException:无组1
。有人能解释一下它是如何工作的以及何时可以应用groupIdx>0吗

regexp_extract(e: Column, exp: String, groupIdx: Int): Column

该参数提取使用指定参数捕获的匹配部分

见:

regexp\u extract(str,regexp[,idx])-提取与regexp匹配的组。

示例:
>选择regexp_extract('100-200','(\d+)-(\d+),1)
100

100
子字符串用正则表达式模式中的第一个
(\d+)
捕获,而
1
参数使函数仅返回整个匹配的这一部分(即
100-200