Javascript /:Unterminated groupregular expression:/R<;f(9f
我有两个非常大的txt文件,文件A包含一些字符串,在文件B上我有我将在文件A上搜索的所有字符串Javascript /:Unterminated groupregular expression:/R<;f(9f,javascript,node.js,regex,fs,Javascript,Node.js,Regex,Fs,我有两个非常大的txt文件,文件A包含一些字符串,在文件B上我有我将在文件A上搜索的所有字符串 实际上,我将文件B转换为数组,并使用fs加载了文件A。问题是文件B包含一些奇怪的字符串,如R,您需要逐字转义该字符串以在正则表达式中使用。不幸的是,似乎没有内置的方法来实现这一点,但是有npm包可用于此目的,如此:不幸的是,你给我的包不起作用…ReferenceError:escapeStringRegexp没有定义你有没有需要d它?在这里工作很好。不过这只是包中的一部分,关于npm还有很多,你可以选
实际上,我将文件B转换为数组,并使用fs加载了文件A。问题是文件B包含一些奇怪的字符串,如
R,您需要逐字转义该字符串以在正则表达式中使用。不幸的是,似乎没有内置的方法来实现这一点,但是有npm包可用于此目的,如此:不幸的是,你给我的包不起作用…ReferenceError:escapeStringRegexp没有定义
你有没有需要
d它?在这里工作很好。不过这只是包中的一部分,关于npm还有很多,你可以选择适合你的。没问题,我自己做了funcRegExp.escape=函数{返回s.replace(/[-\/\^$*+.()\\[\]{}]/g,'\\$&');};
console.time('program');
const fs = require('fs');
const filePath = "./processhackerfile.txt";
const hackStringsPath = "./hackstrings.txt";
var hackStrings = fs.readFileSync(hackStringsPath).toString().split("\n");
console.log(hackStrings.length);
var file = fs.readFileSync(filePath).toString();
for(i in hackStrings){
var regex = new RegExp(hackStrings[i].toString(), 'i');
var stringSearch = file.match(regex);
if(stringSearch != null){
console.log(`Cheat found, string name: ${stringSearch}`);
} else {
console.log('Cheat not found');
}
}
console.timeEnd('program');