gpt4 book ai didi

javascript - 何时对正则表达式使用构造函数或文字?

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

在下面的代码中,name 是一个局部变量。

我在谷歌上找到了类似的代码。

var res = new RegExp('(\\s|^)' + name).test(class);

但我也被告知要使用这样的正则表达式文字:

var res = /(\s|^) + name/.test(class);

哪个正确或更好?

最佳答案

你必须用构造函数来做。文字不能有变量,所有内容都将按文字解释,因此+ 将是量词,name 将是字符串“name”。

此外 \\s 是双重转义的,因为它在构造函数中的字符串内,但在文字中你只需要转义一次 \s

您可以在浏览器中快速测试:

var name = 'foo';
var re1 = /\d + name/;
var re2 = new RegExp('\\d'+ name);

console.log(re1); //=> /\d + name/
console.log(re2); //=> /\dfoo/

关于javascript - 何时对正则表达式使用构造函数或文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17846192/

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