Javascript 将变量传递给具有字边界的RegExp

Javascript 将变量传递给具有字边界的RegExp,javascript,regex,Javascript,Regex,我必须传递给变量的RegExp值,并指向单词边界。我有一个字符串要检查它是否包含变量值。 我不知道如何作为变量值和单词边界属性传递给regexp 比如说: var sa="Sample"; var re=new RegExp(/\b/+sa); alert(re.test("Sample text")); 我尝试了一些解决问题的方法,但仍然无法做到:(使用此:re=new RegExp(“\\b”+sa) 正如@RobW所提到的,您可能需要退出sa 请参见:如果要获取所有出现的(g),请不区分

我必须传递给变量的RegExp值,并指向单词边界。我有一个字符串要检查它是否包含变量值。 我不知道如何作为变量值和单词边界属性传递给regexp

比如说:

var sa="Sample";
var re=new RegExp(/\b/+sa);
alert(re.test("Sample text"));

我尝试了一些解决问题的方法,但仍然无法做到:(

使用此:
re=new RegExp(“\\b”+sa)

正如@RobW所提到的,您可能需要退出
sa


请参见:

如果要获取所有出现的(
g
),请不区分大小写(
i
),并使用边界,使其不是另一个单词中的一个单词(
\\b
):


例如:

let inputString = "I'm John, or johnny, but I prefer john.";
let swap = "John";
let re = new RegExp(`\\b${swap}\\b`, 'gi');
console.log(inputString.replace(re, "Jack")); // I'm Jack, or johnny, but I prefer Jack.

eval
?听说过
RegExp
构造函数吗?别忘了转义用户输入(
sa
),除非输入也可以是正则表达式。您的答案与我正在搜索的内容最为接近。您使用的引号是什么,将变量与
${swap}
@AlexanderDixon导入的文档在哪里?
元素\u text.match(new RegExp(匹配选项\u text,'gi'))
我想用
^$
开始和结束分隔符传递“匹配选项\u文本”变量。下面是我所要求的更好的表示形式。
let inputString = "I'm John, or johnny, but I prefer john.";
let swap = "John";
let re = new RegExp(`\\b${swap}\\b`, 'gi');
console.log(inputString.replace(re, "Jack")); // I'm Jack, or johnny, but I prefer Jack.