正则表达式提取 Google Data Studio:需要将一个用竖线分隔的字段分割成单独的字段

Regex Extract Google Data Studio: Need to slice one field delimited with pipes into separate fields

我有一个字段,其中的值如下所示:

Field
pos1-123|pos2 xyx123|pos3-abc|pos4x350

我想使用 REGEXP_EXTRACT 将字段分成四个不同的计算字段,如下所示:

我已经成功地使用以下方法自行提取了计算字段 1:

> REGEXP_EXTRACT(Field, '^//|(//|[[:alnum:]]+)')

但是,我无法迭代字符串的其余部分。

您可以使用以下正则表达式:

REGEXP_EXTRACT(Field, '^([^|]+)')
REGEXP_EXTRACT(Field, '^[^|]+\|([^|]+)')
REGEXP_EXTRACT(Field, '^(?:[^|]+\|){2}([^|]+)')
REGEXP_EXTRACT(Field, '^(?:[^|]+\|){3}([^|]+)')

详情:

  • ^ - 字符串开头
  • (?:[^|]+\|){3} - 出现三次 ({3})
    • [^|]+ - |
    • 以外的任何一个或多个字符
    • \| - 一个 | 字符
  • ([^|]+) - 捕获第 1 组:|.
  • 以外的任何一个或多个字符