Я новичок в node.js.Я практиковал программу, чтобы найти шаблон в строке и извлечь эту часть строки из файла.Файл как:
Something written in a file saved as filename.ext.
At a line, it contains a link.
import "https:\//www.hostname.com/$path"
Я хочу извлечь ссылку из любой строки в файле.Я пытался сопоставить шаблон, чтобы получить индекс «h» в «http» и извлечь его дальше.Застрял в nm (), так как он не работает с переменной как параметром.
var url=require('url')
var fs = require('fs');
var find = require('find');
var findInFiles = require('find-in-files');
var LineReader = require('linereader');
var nm = require('nanomatch');
var sol=require('./../bin/sol-merger')
var dir = './merged/';
var pth=process.cwd()+'/'+dir+'newfile.sol'
var flag=0
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
fs.createReadStream(sol.abs_path).pipe(fs.createWriteStream(dir+'/newfile.sol'));
findInFiles.find({'term': "http", 'flags': 'ig'}, 'merged/', '.sol$').then(function(results) {
//console.log("here...")
for (var result in results) {
var res = results[result];
console.log('found "' + res.matches[0] + '" ' + res.count+ ' times in "' + result + '"')
console.log(sol.fl+" "+result)
}
var lr=new LineReader(pth)
lr.on('error', function (err) {
console.log(err);
console.log("error")
lr.close();
});
lr.on('line', function (lineno, line) {
console.log(lineno + " " + line);
if(nm.contains(`$line`,'*"http**"*')){
console.log("found")
}
});
})