regex 如何在这种情况下使用正则表达式[duplicate]

dkqlctbz  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(135)

此问题在此处已有答案

How do you use a variable in a regular expression?(26个答案)
6天前关闭。
我想检查一个字符串变量(名为 string)是否与以下字符串匹配:* 电话:L-62000-64-000_0*
我的代码如下所示:

let string = "L-62000-64-000_05641";
let part = 64;
const filter = new RegExp("^L-\d{5}-${part}-.+");
if (string.match(filter)) {
        console.log("yes");
}

重要的是,字符串以“L-"开头。在这之后应该有一个五位数和一个连字符。后面的两位数取决于一个变量。在变量之后还有一个连字符。字符串的其余部分对我来说并不重要。这就是为什么我使用“.+”
问题是,这不起作用,我不知道为什么...

gc0ot86w

gc0ot86w1#

如果要在字符串中使用part变量,则需要使用''而不是“”

const filter = new RegExp(`^L-\d{5}-${part}-.+`);
abithluo

abithluo2#

在这种情况下,还需要添加两个\\

let string = 'L-62000-64-000_05641';
let part = 64;
const filter = new RegExp(`^L-\\d{5}-${part}-.+$`);
if (string.match(filter)) {
        console.log("yes");
} else {
  console.log("no");
}

相关问题