2012-06-11 26 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"); 

,因爲它是一個字符串和一個反斜槓以下字符,你必須逃離反斜槓本身。

相關問題