2012-06-11 27 views
3

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

例如:

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

这不是工作,我不能这样做:

var reg = /\bAB\b/g; 

因为我稍后需要一个变量来代替AB。

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

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

+0

这似乎是Javascript,所以我会标记它。 – nhahtdh

+0

OK^_ ^谢谢 – Shawn31313

+0

''shdfkjABdsfk AB sdkfjh sdf AB“.match(/ \ bAB \ b/g)'在Developer Console(Safari)中适用于我。 – nhahtdh

回答

5

用反斜杠逃逸你反斜杠所以\b不被解释为转义字符,而是作为一个文字\b

var reg = new RegExp("\\bAB\\b", "g"); 
reg.test(' AB '); 
// true 
reg.test('aABb'); 
// false 
+0

谢谢你生病了接受一次我可以,因为你是第一次:) – Shawn31313

3

你只需要一对额外的反斜线

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

,因为它是一个字符串和一个反斜杠以下字符,你必须逃离反斜杠本身。

相关问题