gpt4 book ai didi

谷歌表格中的正则表达式正向后视

转载 作者:行者123 更新时间:2023-12-04 02:53:52 26 4
gpt4 key购买 nike

我有一个包含交易列表的 Google 表格。我需要在 E 列中隔离 D 列中单词“结束”之后的最多三个单词或数字。正确的正则表达式函数应该是正向后视,但 RE2 不支持它(来源:Using positive-lookahead (?=regex) with re2 )。

此公式在 GSheets 中返回错误:

=REGEXEXTRACT(D1;"(?<=end\s)(\w+)")

所以我的结论是,在这种情况下,正则表达式是一个死胡同。

如何在 GSheets 中获取请求的结果?

最佳答案

您可以在正则表达式中使用捕获组来制作 REGEXEXTRACT只返回捕获的部分:

=REGEXEXTRACT(D1;"end\s*(\w+)")

如果您需要在 end 之后返回 1、2 或 3 个以空格分隔的单词, 用
=REGEXEXTRACT(D1;"end\s*(\w+(?:\s+\w+){0,2})")

online demo (Golang 正则表达式也使用 RE2)。

详情
  • end - end
  • \s* - 0+ 个空格
  • (\w+(?:\s+\w+){0,2}) - 捕获组 1:
  • \w+ - 1+ 个字字符(字母、数字或 _)
  • (?:\s+\w+){0,2} - 0、1 或 2 次
  • \s+ - 1+ 个空格
  • \w+ - 1+字字符。
  • 关于谷歌表格中的正则表达式正向后视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53897464/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com