\ b标志在JavaScript正则表达式中不起作用

时间:2016-01-04 06:38:35

标签: javascript regex

我是正则表达式的新手,基本上只是在我的浏览器控制台中使用它们,使用MDN作为参考,我尝试了下面的正则表达式:

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

即使我尝试/\bg/g,我仍然会弄错,为什么?

MDN定义说明了\b的以下内容:

  

匹配零宽度字边界,例如字母和a之间   空间。 (不要与[\ b]混淆)

     

例如,/ \ bno /匹配“正午”中的“否”; / ly \ b /匹配   “可能昨天”中的“ly”。

那么为什么建筑物末端的g不匹配?有人可以解释一下吗?

1 个答案:

答案 0 :(得分:5)

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

\bg/g将尝试在字边界后搜索g。传递的字符串不包含以g开头的任何单词。

What is word-boundary?

我认为你需要

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

使用Regex#test时,您不需要g标记/修饰符。