Как получить /url/ из /url1/url2/url3 при помощи регулярного выражения на JS (вместо text.split('/')[1])?

Здравствуйте, могу эту задачу решить таким образом
text.split('/')[1]
но хочется более элегантного решения при помощи regexp, подскажите, как это можно сделать, и что значит каждый символ в таком решении-регулярке.
Спасибо.
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 2
Регулярные выражения - далеко не элегантное решение. Они слишком тяжелы для такой простой задачи.
shop.oreilly.com/product/9780596528126.do
Ответ написан
Комментировать
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
Вот, набросал функцию, парсящую строку с URL, м.б. пригодится:
function parseURL (url) {
	var pU = url.split('/')
	.filter((i, ind, arr)=> i.length && i.indexOf('?') === -1),
      search = url.split('?')[1] || null,
    s = search && search.split('&').reduce((a,c) => {
      var i = c.split('=');
      a[i[0]]= i[1];
      return a;
    }, {});

	return {
		protocol: pU[0].slice(0,-1),
		host: pU[1],
		pathname: '/' + pU.slice(2).join('/') + '/',
    searchFull: '?' + search,
		search: s
	}
}

console.log(parseURL ('https://codepen.io/KorniloFF/pen/qgMVem?editors=0012'));


https://codepen.io/KorniloFF/pen/qgMVem?editors=0012
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы