我用这段代码得到了意想不到的结果:
'foo'.match(new RegExp('\bfoo\b')); // Returns null
为什么这会返回null
而这个返回“foo”?
'foo'.match(new RegExp('foo')); // Returns "foo"
字边界标记是否也与开头和结尾相匹配?
编辑:我需要将正则表达式本身作为字符串,因为我将变量注入其中。
答案 0 :(得分:14)
逃离反斜杠
'foo'.match(new RegExp('\\bfoo\\b'));
答案 1 :(得分:-2)
不要用引号括起来......相反,请执行以下操作: -
'foo'.match(new RegExp(/\bfoo\b/))