使用parseURL函数的Javascript解析URL

时间:2019-06-14 20:32:15

标签: javascript parsing url

我正在尝试编写代码以使用Javascript parseURL函数来解析URL

输入的是一些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 个答案:

答案 0 :(得分:2)

模式/^.+(?=:\/\/)|(?<=:\/\/)[^\/]+|(?<=\?).+$/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)));