Regex Data Studio исключает параметры URL

Мне удалось использовать Regex в Google Data Studio для создания значения каталога «последний путь», которое отлично работает, используя;

REGEXP_EXTRACT( Page , '.*/(.*)/' )

Можно ли исключить URL с параметрами?

Так, например, регулярное выражение соответствует;

/ directory1 /

/ каталог1 /? var = 1

/ каталог1 /? var = 2

Поэтому я хочу исключить любые? Var = URL-адреса, но не ограничиваясь значением параметра var.

Любая помощь приветствуется.


person TerryB    schedule 15.12.2020    source источник
comment
Спасибо за ответ, но он возвращает значение null, поэтому не работает ...   -  person TerryB    schedule 16.12.2020
comment
Я думаю, что вы на правильном пути, но раз уж нет совпадения? входит в строку   -  person TerryB    schedule 16.12.2020
comment
См. доказательство, что это работает. Не сожирает вопросительные знаки.   -  person Ryszard Czech    schedule 16.12.2020
comment
Вы были правы, спасибо, некоторые из лучших результатов по трафику были обнулены, но ниже были собраны правильные результаты. Спасибо!   -  person TerryB    schedule 16.12.2020
comment
Можем ли мы включить несколько условных исключений, например, исключить параметры URL-адреса и исключить URL-адреса, содержащие 'error-404'? Извините за большой вопрос.   -  person TerryB    schedule 16.12.2020
comment
Если это связано с опережением, здесь это невозможно, вы используете библиотеку, которая их не поддерживает.   -  person Ryszard Czech    schedule 16.12.2020
comment
Поддерживает ли ваша библиотека регулярных выражений просмотр вперед?   -  person CinCout    schedule 16.12.2020


Ответы (1)


Для решения текущего вопроса используйте

REGEXP_EXTRACT( Page , '.*/(.*)/$' )

Якорь $ перестает сопоставлять что-либо с дополнительным текстом после /. Если есть строка запроса, совпадения не произойдет.

Объяснение

--------------------------------------------------------------------------------
  .*                       any character except \n (0 or more times
                           (matching the most amount possible))
--------------------------------------------------------------------------------
  /                        '/'
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    .*                       any character except \n (0 or more times
                             (matching the most amount possible))
--------------------------------------------------------------------------------
  )                        end of \1
--------------------------------------------------------------------------------
  /                        '/'
--------------------------------------------------------------------------------
  $                        before an optional \n, and the end of the
                           string
person Ryszard Czech    schedule 16.12.2020