Разбор URL Javascript с использованием функции parseURL - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь написать код для разбора URL с помощью функции Javascript parseURL

Вводятся некоторые из URL

1.http://www.cnn.com/index.html
2.https://yahoo.com/movies/index.html?refresh=1

Ожидаемый результат

1.http,www.cnn.com
2.https,yahoo.com,refresh=1

Я пытался написать код

process.stdin.resume();
process.stdin.setEncoding('utf8');

var stdin = '';
process.stdin.on('data', function parse(chunk) {
  stdin += chunk;
}).on('end', function() {
  var lines = stdin.trim().split('\n');
  for(var i=0; i<lines.length; i++) {
    process.stdout.write(lines[i]);
  }
});

Но я не могу получить ожидаемый результат

1 Ответ

2 голосов
/ 14 июня 2019

Шаблон /^.+(?=:\/\/)|(?<=:\/\/)[^\/]+|(?<=\?).+$/g перечисляет следующие три возможности, сопоставляя любую из них с чередованием:

  1. начало строки вплоть до ://
  2. :// доследующие /
  3. все после ? до конца строки.

const pattern = /^.+(?=:\/\/)|(?<=:\/\/)[^\/]+|(?<=\?).+$/g;
[
  "1.http://www.cnn.com/index.html",
  "2.https://yahoo.com/movies/index.html?refresh=1"
].forEach(e => console.log(e.match(pattern)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...