Страницы

Поиск по вопросам

пятница, 9 ноября 2018 г.

Как в регулярном выражении написать “или”?

Имеем строку url = 'http://site.loc/?a=1&search=abcdf'; и регулярное выражение re = /\&search\=.*?(?=\&)/g;
Только оно срабатывает, если находит за искомым словом символ & Если же его нет, то выражение не срабатывает.
Как мне исправить регулярное выражение, что бы оно выполнялось или до & или до конца строки $?


Ответ

Попробуйте. Символ | - это или, также для таких поисков применяется [^&]+ - любые количеством больше 1, кроме &
console.log('http://site.loc/?search=abcdf&a=1'.match(/(\?|&)search=([^&]+)/)[2])

Комментариев нет:

Отправить комментарий