javascript - file.match(regex) 与提供的文件名不匹配

标签 javascript regex

我有以下代码:

fs.readdir('.', (err, files) => {
    files.forEach(file => {
        if (file.match(/^\Qcustom_\E.+\d\Q.pid\E/)) {
            var pid = fs.readfile(file, function (err, data) {
                if (err) throw err;
                return data.toString();
            });
            console.log(pid);
        }
    });
});

在我的目录中,我有几个文件,例如 custom_Component1.pidcustom_Component2.pidcustom_NewComponent3.pid 等每一个都只包含一行(pid)。

但是,上面的代码与文件不匹配,即使根据我的 Regex101 ,正则表达式是正确的。

如果我console.log(file),文件名将完全按照我的预期显示,就像custom_Component1.pid

最佳答案

Javacript 似乎不支持 \Q\E,请查看以下内容:Javascript equivalent of Perl's \Q ... \E or quotemeta()

为什么以下正则表达式不起作用?如果您需要更严格的匹配,请描述您的确切要求,我相信您会得到有效的正则表达式的快速响应。

/^custom_.+\d\.pid/g

关于javascript - file.match(regex) 与提供的文件名不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44076739/

相关文章:

javascript - React Hooks 与 React Router v4 - 我如何重定向到另一条路线?

javascript - 检查数组是否不为空 - XHR 响应测试

php - 如何在 Java Script 和 PHP 中获取动态添加的文本框的值

regex - 从字符串中删除 '$' 个字符

python - 无法删除.text。使用正则表达式

javascript - 获取第一个空格字符和 '=' 字符之间的字符串

javascript - PHP 和 jQuery 中的 Ajax 调用

json - 如何使用 Charles Proxy 重写工具和正则表达式修改 HTTP 响应主体?

python - 如何从python中的字符串中获取url

javascript - 用 React 兼容的样式替换所有 html 样式属性