我正在尝试使用类似于此new RegExp('\bword\b', 'g')
的构造函数语法创建正则表达式,但它的行为并不像预期的那样。相反,它似乎创建了一个看起来像这个/\bwor\b/g
的正则表达式,并且缺少最后一个字母。
我必须使用构造函数语法来创建正则表达式,因为我是从json文件动态创建的,并且你不能将正则表达式放在json中。所以我的问题是:
一个。为什么这些表现不一样?和b。我该怎么做才能纠正这种情况?
注意:我尝试做的是创建一个仅与整个单词匹配的正则表达式,而不是另一个单词中存在的单词。
答案 0 :(得分:14)
对于字符串\b
,意味着退格。
正则表达式\b
表示字边界。
要确保使用正则表达式版本,请在字符串中的每个反斜杠之前添加一个额外的反斜杠\
以转义转义字符。