gpt4 book ai didi

javascript - 在正则表达式字符集中使用变量

转载 作者:行者123 更新时间:2023-11-29 23:24:41 24 4
gpt4 key购买 nike

我正在尝试使用变量(保存)作为正则表达式字符集,但一直为空

function mutation(arr) {
var save = arr[1];
var rgx = /[save]/gi;
return arr[0].match(rgx).join('') == arr[0];

}

mutation(["Mary", "Army"]);

该函数的目标是通过返回 true 或 false 来查看 arr[1] 的所有字母是否都包含在 arr[0] 中。当我手动将 arr[1] 放入字符集(在这种情况下返回 true)时,函数确实按照我想要的方式工作,只是无法让它与变量一起工作。

最佳答案

您当前的确切方法将行不通(我认为),因为无法使用带有变量的 /.../ 符号来构建正则表达式模式。但是,我们仍然可以使用 RegExp 来构建模式。对于您向我们展示的示例数据,这是一个可行的正则表达式模式:

^(?!.*[^Mary]).*$`

换句话说,我们可以断言,在第二个字符串 Army 上,它的所有字符都可以在第一个字符串 Mary 中找到。

function mutation(arr) {
var save = arr[1];
var rgx = "^(?!.*[^" + save + "]).*$";
var re = new RegExp(rgx, "gi");
return re.test(arr[0]);

}

console.log(mutation(["Mary", "Army"]));
console.log(mutation(["Jon Skeet", "Tim Biegeleisen"]));

关于javascript - 在正则表达式字符集中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49663358/

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