/:未终止组正则表达式:/R<f(9f
/: Unterminated groupregular expression: /R<f(9f
我有 2 个非常大的 txt 文件,文件 A 包含一些字符串,在文件 B 上我有我将在文件 A 上搜索的所有字符串。
实际上我将文件 B 变成了一个数组,并使用 fs 加载了文件 A。问题是文件 B 包含一些奇怪的字符串,例如 R<f(9f
所以当我与正则表达式匹配时,程序退出错误消息 /: Unterminated groupregular expression: /R<f(9f
。
所以我想做的是正则表达式匹配 "treats" 字符作为字符串而不是指令。
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');
您可以找到代码here
您需要对字符串进行逐字转义以在正则表达式中使用。不幸的是,似乎没有内置方法可以做到这一点,但是有可用的 npm 包,比如这个:https://www.npmjs.com/package/escape-string-regexp
我有 2 个非常大的 txt 文件,文件 A 包含一些字符串,在文件 B 上我有我将在文件 A 上搜索的所有字符串。
实际上我将文件 B 变成了一个数组,并使用 fs 加载了文件 A。问题是文件 B 包含一些奇怪的字符串,例如 R<f(9f
所以当我与正则表达式匹配时,程序退出错误消息 /: Unterminated groupregular expression: /R<f(9f
。
所以我想做的是正则表达式匹配 "treats" 字符作为字符串而不是指令。
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');
您可以找到代码here
您需要对字符串进行逐字转义以在正则表达式中使用。不幸的是,似乎没有内置方法可以做到这一点,但是有可用的 npm 包,比如这个:https://www.npmjs.com/package/escape-string-regexp