Извлечение REGEX RE2 в Google Data Studio - REGEX_EXTRACT - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь отделить / извлечь следующую строку в вычисляемом поле Google Data Studio, но не может найти правильный синтаксис регулярного выражения из-за ограничения RE2.

Может кто-топомочь с созданием 4 совпадений регулярных выражений для этой тестовой строки, которая разделена символом /, мне нужно отдельно сопоставлять каждую часть строки

Все содержимое между разделителями является динамическим, но разделители остаются такими, как вы видите.

Не могу обернуть мою голову вокруг, на самом деле я не знаю, возможно ли это даже в RE2 в GDS.

тестовая строка:

Группа и Имя / Группа 2 и Имя 2 / Группа 3 и Имя 3 / Группа 4

Тестовая строка также может состоять только из 3 частей

Группа и Имя / Группа 2 и Имя 2 /Группа 3 и имя 3

ожидаемый результат:

Мне нужно 4 подходящих шаблона для каждой части строки, разделенной /

  • 1соответствие регулярному выражению: группа и имя
  • 2 соответствие регулярному выражению: группа 2 и имя 2
  • 3 регбывшее соответствие: группа 3 и имя 3
  • 4 соответствие регулярному выражению: группа 4

я застрял с этим шаблоном, который соответствует только 2-й группе, но я не могу получить динамику в него

REGEXP_EXTRACT (измерение, '\ / ([^ \ /] *) \ /')

PS: обнаружил, что / должно предшествовать double \\ иначе вы получите «Не удалось разобрать формулу» в https://regex101.com/ id не работает с двойным \\

Спасибо за помощь, Марек

1 Ответ

0 голосов
/ 10 июня 2018

Попробуйте эти четыре вызова на REGEXP_EXTRACT для терминов с первого по четвертый в вашем пути:

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