2016-01-04 24 views
-3

我是新來的正則表達式,基本上只是他們玩弄我的布勞爾控制檯,使用MDN作爲全球化志願服務青年,我想下面的regrex:在JavaScript不工作 B標誌regrex

/\bg/g.test('me building and him') 

即使如果我嘗試/\bg/g,我仍然得到錯誤,爲什麼?

的MDN定義說,對\b以下:

匹配零寬度字邊界,例如字母和一個 空間之間。 (不要與[\ b]混淆)

例如,/ \ bno /與「no no」中的「no」匹配;/ly \ b /匹配「可能在昨天」中的「ly」中的 。

那麼爲什麼g在建築物的末端沒有被匹配呢?有誰能解釋一下嗎?

+2

不要-1這個傢伙,人們..這是星期一.. – Dropout

+0

**例如,/ \ bno /匹配「no no」in「at noon」;/ly \ b /匹配「可能在昨天」中的「ly」。** <<您的答案在這裏。 – Shanoor

回答

5
/\bg/g.test('me building and him') 

​​會盡量字邊界後,搜索g。傳遞的字符串不包含任何以g開頭的單詞。

What is word-boundary?

我想你需要

/g\b/.test('me building and him') // true: finds building 

使用Regex#test,你不需要g標誌/修改。

+1

5 upvotes for anwser OP給自己? – Shanoor

+1

@ShanShan 5是解釋OP沒有在文檔中看到的東西:) – Tushar

+0

他在確切的地方引用了doc(非常明確的例子),他只是沒有花時間閱讀它。 – Shanoor