REGEX для фильтров Google Analytics - PullRequest
1 голос
/ 02 июля 2019

У меня есть ссылка с большим количеством параметров, и я хочу исключить большинство из них (оставить только один) и заменить ее на имя

Ссылка имеет следующую структуру: https://www.abc.ab/something/somethingelse?card_type=status&a-bunch-of-trailing

Card_type может иметь разные значения "status"

В идеале я хотел бы сохранить: https://www.abc.ab/something/somethingelse?card_type=status и заменить? Card_type = status на "/ card_type"

Я пытался сделать это наGA:

Поиск строки

/*(.*?)\card_type\=*

Заменить строку: / card_type

Но это совсем не работает

1 Ответ

1 голос
/ 02 июля 2019

Вы можете сопоставить ?card_type= с последующим сопоставлением с любым символом 0+ раз .* Если это должно быть с начала строки, вы можете использовать якорь ^ в начале шаблона.

При замене используйте первую группу захвата, за которой следует строка замены.

(.*?)\?card_type=.*
  • (.*?) Группа захвата 1, соответствующая любому символу 0+ раз, не жадная
  • \?Сопоставьте ?, избежав его
  • card_type= Совпадение буквально
  • .* Сопоставьте любой символ 0+ раз, не жадный

Замените на

$1/card_type

Regex demo

Чтобы получить более точное соответствие для URL вместо использования .*?, вы можете сопоставить протокол:

^(https?:\/\/\S+\/[^?]*)\?card_type=.*

Regex demo

...