7

这段代码我得到了意想不到的结果:

'foo'.match(new RegExp('\bfoo\b')); // Returns null

为什么这个返回null,而这个返回“foo”?

'foo'.match(new RegExp('foo')); // Returns "foo"

单词边界标记是否也与开头和结尾匹配?

编辑:我需要正则表达式本身是一个字符串,因为我正在向其中注入变量。

4

2 回答 2

15

转义反斜杠

'foo'.match(new RegExp('\\bfoo\\b'));
于 2011-02-17T03:07:06.890 回答
-2

不要用引号括起来......相反,这样做: -

'foo'.match(new RegExp(/\bfoo\b/))
于 2011-02-17T03:04:07.483 回答