最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

String.match()函数返回空,即使存在匹配

运维笔记admin10浏览0评论

String.match()函数返回空,即使存在匹配

String.match()函数返回空,即使存在匹配

我想在一个文件中匹配的一些数据正则表达式,即使在比赛中的数据明显存在的匹配功能但是返回null。

我曾尝试在RegExr相同的数据和正则表达式,它显示匹配。

以下是代码

var fs = require('fs');
try {  
    var data = fs.readFileSync('File.txt', 'utf8');
    data = data.toString();
    var regex = /^(hi|hI|Hi|HI)\s[^dD].*?$/gm;
    var result = data.match(regex);
} catch(e) {
    console.log('Error:', e.stack);
}

而这些文件的内容

Hi Alex how are you doing
hI dave how are you doing
Good by Alex
hidden agenda
Alex greeted Martha by saying Hi Martha

我用RegExr相同的数据,它表明第一线为匹配。但是当我在我的机器上运行上面的代码,结果变量保持为空。

在那里,我失去了一些东西?

下面是一些屏幕截图,而我是在调试的vscode代码。

  1. 数据可变的内容
  2. 结果变量的状态。
  3. JSON.stringify 结果

编辑。 JSON.stringify结果

我跑CMD程序和惊人的字符串在它前面的空间。

回答如下:

在JSON输出的空间似乎是BOM。如果是这样,data.codePointAt(0)应该65279

发布评论

评论列表(0)

  1. 暂无评论