RegEx для URL (не перехватывает повторяющиеся параметры) - PullRequest
0 голосов
/ 21 июня 2019

Вам нравится вызов !?Вот один!

Мне нужна помощь для создания выражения RegEx, которое будет использоваться в Logstash Grok для захвата параметров из URL.

Пример URL:

https://localhost/d/MKrV5BPmk/dashboardd1?orgId=1&var-ssl_Client=cLient-1&var-ssl_Client=Client-2&var-ssl_Client=Client&var-Client=All&var-Category=All&var-Environment=All&var-Env=All

После некоторых попыток здесь мой RegEx:

.*\/(\S*)\?orgId=(\d)(&(var-ssl_Client=(\w+-\w+|\w+_\w+|\w+))*)\.*

, но этот принесет мне только моего первого клиента.

.*\/(\S*)\?orgId=(\d)((&var-ssl_Client=(\w+-\w+|\w+_\w+|\w+))*)\.*

и этот принесет мне только последнийодин

и сюрреалистический:

.*\/(\S*)\?orgId=(\d)(&(var-ssl_Client=(\w+-\w+|\w+_\w+|\w+))&(var-ssl_Client=(\w+-\w+|\w+_\w+|\w+))&(var-ssl_Client=(\w+-\w+|\w+_\w+|\w+)))\.* 

поймает 3 var-ssl_Client, но у меня также может быть 10 var-ssl_Client ...

я тоже пробовал

(&(var-ssl_Client=(\w+-\w+|\w+_\w+|\w+))*)\.*

, который дает мне все var-ssl_Client, но я потерял "dashboardd1" и orgID

Прямо сейчас я могу извлечь значение "dashboardd1", идентификатор организации "1"и первый или последний var-ssl_Client.

Как сделать, чтобы извлечь все var-ssl_Client?Почему * не работает, даже когда я в жадном режиме ...

...