我想知道的是如何在RegExp对象中使用单词边界。
例如:
var reg = new RegExp("\bAB\b", "g");
这不起作用,我不能这样做:
var reg = /\bAB\b/g;
因为稍后我需要用变量替换AB。
我知道RegExp对象中的所有其他功能都有效,但由于某种原因,单词边界不起作用。感谢您对此问题的任何帮助。 :)
答案 0 :(得分:5)
使用反斜杠转义反斜杠,因此\b
不会被解释为转义字符,而是字面\b
。
var reg = new RegExp("\\bAB\\b", "g");
reg.test(' AB ');
// true
reg.test('aABb');
// false
答案 1 :(得分:3)
你只需要几个额外的反斜杠
var reg = new RegExp("\\bAB\\b", "g");
因为它是一个字符串,并且反斜杠会转义后续字符,所以你必须自己转义反斜杠。