2015-01-14 3 views
0

У меня есть список URL-адресов с параметрами в них, и мне нужно разбить их на все параметры.Regex соответствует всем параметрам в URL-адресе

Образец данных:

https://www.example.com/highlights/on-sale-01304&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CBMQFjAA&usg=AFQjCNHucW7fFrA35qeeJbUlAbsPFQNxLg 
https://www.example.com/collections/view-all-01240&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CBgQFjAB&usg=AFQjCNGhZzf7rsslCqgHSngyFAbw_nQmvQ 
https://www.example.com/highlights/overstock-and-clearance-01217&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CB0QFjAC&usg=AFQjCNHMfQBA4AP51_ikOGyoGEx-aB0-wQ 

Я попытался это (\?|\&)([^=]+)\=([^&]+) но это соответствует только один параметр в то время, и в основном должны соответствовать все после ? знака.

+0

Какое значение будет иметь желаемый результат? – Anthony

ответ

1

Вы должны указать символ \n во всех классах символов. Потому что [^=]+ соответствует также символу новой строки.

([?&])([^=\n]+)\=([^&\n]+) 

Затем замените соответствующие символы пустой строкой.

DEMO

0

Если вы хотите, чтобы лишить все после '?', А затем использовать что-то вроде /?.+/g.

Смежные вопросы