gpt4 book ai didi

javascript - 正则表达式从文件名中排除某个单词

转载 作者:太空宇宙 更新时间:2023-11-04 01:28:48 25 4
gpt4 key购买 nike

我试图开 Jest 来调整我的单元测试,但不是我的集成测试。它们与测试的组件位于同一文件夹中。单元测试的文件名模式为 *.test.js,其中 * 是组件名称。集成测试具有模式 *.integration.test.js,其中 * 是组件名称。

我不擅长正则表达式。我想出的最好的办法是:

(?!\bintegration\b)

这排除了所有集成测试,但 jest 现在正在尝试运行我的 index.js 文件。我需要表达式排除“集成”,但包含“测试”

最佳答案

我的猜测是,也许这里我们可能需要一个类似于以下内容的表达式:

(?=.*\bintegration\b.*)(?!.*\btest\b.*).*

Demo

const regex = /(?=.*\bintegration\b.*)(?!.*\btest\b.*).*/gm;
const str = `integration, but include 'test'
integration, but include 'tes
integration, but include 'tests
.integration.test.js
.integration.tests.js`;
let m;

while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}

// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}

关于javascript - 正则表达式从文件名中排除某个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56690438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com