Node.js 通过NodeJS加载文本文件并执行Regex不会';行不通

Node.js 通过NodeJS加载文本文件并执行Regex不会';行不通,node.js,regex,fs,Node.js,Regex,Fs,有一个奇怪的问题 正在尝试对文本文件执行正则表达式。以下内容将字符串与滑块文本和某些格式匹配 ListOfSliderStrings在不使用FS时返回一个列表,而应该将文档放入文档顶部的变量中(仅用于测试) 实际上,通过FS readFileSync()加载文档(如下所示)并不需要 话虽如此,控制台记录FS加载的文档可以显示正确的数据 const fs = require('fs'); const path = require('path'); const yargs = require(&qu

有一个奇怪的问题

正在尝试对文本文件执行正则表达式。以下内容将字符串与滑块文本和某些格式匹配

ListOfSliderStrings
在不使用FS时返回一个列表,而应该将文档放入文档顶部的变量中(仅用于测试)

实际上,通过FS readFileSync()加载文档(如下所示)并不需要

话虽如此,控制台记录FS加载的文档可以显示正确的数据

const fs = require('fs');
const path = require('path');
const yargs = require("yargs");

const options = yargs
    .usage("Usage: -f <file>")
    .option("f", { alias: "file", describe: "Your file", type: "string", demandOption: true })
    .argv;

let textfile = fs.readFileSync(options.file).toString();

console.log(textfile); // THIS PRINTS THE DOCUMENT, SO IT SEEMS IT IS BEING READ

let listOfSliderStrings = textfile.match(/(slider.*:.*\n)/g);
const fs=require('fs');
const path=require('path');
常数码=要求(“码”);
常量选项=码
.用法(“用法:-f”)
.option(“f”{别名:“文件”,描述:“您的文件”,键入:“字符串”,demandOption:true})
.argv;
让textfile=fs.readFileSync(options.file.toString();
console.log(文本文件);//这会打印文档,因此它似乎正在被读取
让ListofSliderString=textfile.match(/(滑块。*:.*\n)/g);

我犯的愚蠢错误在哪里?

不确定你正在经历的意外行为是什么

尝试使用字符串编码读取文本文件

let textfile = fs.readFileSync(options.file, 'utf-8').toString();

为了使用字符串的
match
方法,您应该看到
typeof(textfile)
string
(为
readFileSync
提供第二个参数可以做到这一点。

我也尝试过,这太奇怪了……请注意,它只发生在紧随其后的ListofSliderString上的forEach上。使用FS的ListofSliderString返回NULL(就像正则表达式失败一样)。我不会对变量进行null检查,因为所有输入文档都包含滑块,它们必须经过处理。在使用Regex之后,文件上还会出现其他foreach,它们工作正常。正如我所说,这只会发生在FS加载的文件中。与字符串完全相同的文件工作。不确定您的意思是什么,确切地说:)你可能需要把它说清楚,以便有人能回答。