【问题标题】:groupIdx parameter of spark regexp_extract functionspark regexp_extract 函数的 groupIdx 参数
【发布时间】:2020-02-04 17:00:14
【问题描述】:

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

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

【问题讨论】:

    标签: sql regex apache-spark apache-spark-sql


    【解决方案1】:

    参数提取使用指定capturing group 捕获的匹配部分。

    docs

    regexp_extract(str, regexp[, idx]) - Extracts a group that matches regexp.
    示例:
    > SELECT regexp_extract('100-200', '(\d+)-(\d+)', 1);
    100

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-11
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 2017-06-29
      • 2021-01-30
      • 2021-09-21
      相关资源
      最近更新 更多