我正在尝试编写代码以使用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]);
}
});
但是我无法获得预期的输出
答案 0 :(得分:2)
模式/^.+(?=:\/\/)|(?<=:\/\/)[^\/]+|(?<=\?).+$/g
列举了以下三种可能性,将其中的任何一种交替匹配:
://
://
直到下一个/
?
之后到字符串结尾的所有内容。
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)));