Как извлечь подкаталоги из URL, используя «REGEXP_EXTRACT» в Data Studio - PullRequest
2 голосов
/ 04 ноября 2019

Я пытаюсь извлечь название продукта из URL между двумя слешами, используя REGEXP_EXTRACT. Например, я хочу извлечь «туз-5» из URL-адресов ниже:

www.abc.com / Продукция / Телефоны / Ace-5 /www.abc.com/products/phones/ace-5/?cid=dm66363&bidwww.abc.com/products/phones/ace-5/?fbclid=iwar30dpnmmpwppnla7www.abc.com/products/phones/ace-5/?et_cid=em_367029&et_rid=130

У меня есть REGEX для извлечения доменного имени, но это не то, что я на самом деле ищу. Ниже приведен РЕГЕКС:

REGEXP_EXTRACT (страница, '^ [^.] +. ([^.] +)')

Это дает следующий результат: abc

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

Поскольку у меня нет той же страницы с моим GDS, но я попытался воссоздать с моим набором источников данных, т.е. страницами из Google Analytics.

Использование может использовать ниже, что даст вам всезаписи после двух косых черт в соответствии с вашими требованиями.

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

Вам нужно создать вычисляемый столбец с этой формулой, после того как вы создали этот вычисляемый столбец, вам может понадобиться добавить дополнительный фильтр, чтобы удалить их с null значение.

пример страницы: "/ products / phones / ace-5 /" Расчетное значение столбца будет "ace-5"

Просто убедитесь, что это регулярное выражение даст вам толькоИзвлеченное слово после телефонов /, если после этого у вас нет записи, оно вернет вам ноль.

0 голосов
/ 04 ноября 2019

Предполагая, что имя продукта всегда будет фиксированным четвертым элементом пути, мы можем попробовать:

REGEXP_EXTRACT(page, '(?:[^\/]+\/){3}([^\/]+).*')

или, если вышеприведенное не сработает:

REGEXP_EXTRACT(page, '[^\/]+\/[^\/]+\/[^\/]+\/([^\/]+).*')

Вотдемо для вышеперечисленного:

Демо

...