4

我想知道的是如何在 RegExp 对象中使用单词边界。

例如:

var reg = new RegExp("\bAB\b", "g");

这不起作用,我不能这样做:

var reg = /\bAB\b/g;

因为我稍后需要用变量替换 AB。

我知道 RegExp 对象中的所有其他内容都有效,但由于某种原因,单词边界不起作用。感谢您对此问题的任何帮助。:)

示例:http: //jsfiddle.net/7Kt5A/1/

4

2 回答 2

6

用反斜杠转义你的反斜杠,这样\b不会被解释为转义字符,而是作为文字\b

var reg = new RegExp("\\bAB\\b", "g");
reg.test(' AB ');
// true
reg.test('aABb');
// false
于 2012-06-11T02:54:38.530 回答
3

你只需要几个额外的反斜杠

var reg = new RegExp("\\bAB\\b", "g");

由于它是一个字符串,并且反斜杠转义了后面的字符,因此您必须自己转义反斜杠。

于 2012-06-11T02:54:49.083 回答