Javascript 为什么这两个正则表达式的行为不同?

Javascript 为什么这两个正则表达式的行为不同?,javascript,regex,Javascript,Regex,我试图创建一个正则表达式,其构造函数语法如下newregexp('\bword\b','g'),但它的行为与预期不符。相反,它似乎创建了一个正则表达式,该正则表达式看起来像/\b或\b/g,缺少最后一个字母 我必须使用构造函数语法来创建正则表达式,因为我要从json文件动态创建正则表达式,而您不能将正则表达式放在json中。因此,我的问题是: a。为什么这些行为会有所不同?和b。我能做些什么来补救这种情况 注意:我试图创建一个正则表达式,它只匹配一个完整的单词,而不匹配另一个单词中的单词。对于字

我试图创建一个正则表达式,其构造函数语法如下
newregexp('\bword\b','g')
,但它的行为与预期不符。相反,它似乎创建了一个正则表达式,该正则表达式看起来像
/\b或\b/g
,缺少最后一个字母

我必须使用构造函数语法来创建正则表达式,因为我要从json文件动态创建正则表达式,而您不能将正则表达式放在json中。因此,我的问题是:

a。为什么这些行为会有所不同?和b。我能做些什么来补救这种情况


注意:我试图创建一个正则表达式,它只匹配一个完整的单词,而不匹配另一个单词中的单词。

对于字符串
\b
意味着退格

对于正则表达式
\b
表示单词边界


要确保使用正则表达式版本,请在字符串中的每个反斜杠之前添加一个额外的反斜杠
\
,以转义转义字符。

您需要在正则表达式上添加两个反斜杠谢谢!我不知道他们有不同的想法syntaxes@mascaliente不要将它们视为“不同的语法”。这只是字符串文本的一个要求,斜杠应该转义。