【问题标题】:REGEX RE2 extract in Google Data Studio - REGEX_EXTRACTGoogle Data Studio 中的 REGEX RE2 提取 - REGEX_EXTRACT
【发布时间】:2018-06-10 09:03:29
【问题描述】:

我正在尝试使用 Google Data Studio 计算字段提取以下字符串,但 由于 RE2 限制,无法找到正确的 RegEx 语法。

有人可以帮助为这个测试字符串创建 4 个正则表达式匹配项,由/ 分隔,我需要分别匹配字符串的每个部分。

分隔符之间的所有内容都是动态的,但分隔符保持不变。

无法理解它,实际上我甚至不知道它是否可能在 Google Data Studio 的 RE2 中实现。

测试字符串:

组和名称/组 2 和名称 2/组 3 和名称 3/组 4

测试字符串也可以只有 3 个部分

组和名称/组 2 和名称 2/组 3 和名称 3

预期结果:

我需要 4 个匹配模式来匹配由/ 分隔的字符串的每个部分

  • 1 正则表达式匹配:组和名称
  • 2 正则表达式匹配:组 2 和名称 2
  • 3 正则表达式匹配:组 3 和名称 3
  • 4 正则表达式匹配:第 4 组

我被这种模式卡住了,它只匹配第二组,但我无法获得动态:

REGEXP_EXTRACT( dimension , '\\\/([^\\\/]*)\\\/' )

PS:发现/ 前面需要加双\\,否则你会得到“Could not parse the formula”。在 https://regex101.com/ 中,它不适用于双 \\

【问题讨论】:

  • 如果我理解正确,您一次只能提取一件事。那么,你想要 4 种不同的模式吗?
  • 是的@TimBiegeleisen,就是这样,一次只能提取一个,这就是匹配 4 个不同模式的原因,感谢您的关注
  • 再说一次,你在这里要求 4 种模式吗?
  • 是的,我需要将这些部分分别提取到不同的列中,所以即使一种模式适用于所有情况,它也不会帮助我@TimBiegeleisen
  • 为什么不在/上拆分?

标签: regex google-data-studio re2


【解决方案1】:

尝试对REGEXP_EXTRACT 进行以下四次调用,以获取路径中的第一个到第四个术语:

REGEXP_EXTRACT(dimension, '^([^/]+)/')
REGEXP_EXTRACT(dimension, '^[^/]+/([^/]+)/')
REGEXP_EXTRACT(dimension, '^[^/]+/[^/]+/([^/]+)')
REGEXP_EXTRACT(dimension, '^[^/]+/[^/]+/[^/]+/([^/]+)')

【讨论】:

  • 谢谢,它适用于 4 部分字符串 Group & Name/Group 2 & Name 2/Group 3 & Name 3/Group 4 但当它只有 3 个部分时,它的记录为空 Group & Name/第二种模式的第 2 组和第 2 组/第 3 组和第 3 组,你认为它可以动态处理 2 - 4 个字符串长度吗?
猜你喜欢
  • 1970-01-01
  • 2022-01-26
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
相关资源
最近更新 更多