为什么这两个正则表达式的行为不一样?

时间:2016-05-30 02:02:31

标签: javascript regex

我正在尝试使用类似于此new RegExp('\bword\b', 'g')的构造函数语法创建正则表达式,但它的行为并不像预期的那样。相反,它似乎创建了一个看起来像这个/\bwor\b/g的正则表达式,并且缺少最后一个字母。

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

一个。为什么这些表现不一样?和b。我该怎么做才能纠正这种情况?

注意:我尝试做的是创建一个仅与整个单词匹配的正则表达式,而不是另一个单词中存在的单词。

1 个答案:

答案 0 :(得分:14)

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

正则表达式\b表示字边界

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