我是正则表达式的新手,基本上只是在我的浏览器控制台中使用它们,使用MDN作为参考,我尝试了下面的正则表达式:
/\bg/g.test('me building and him')
即使我尝试/\bg/g
,我仍然会弄错,为什么?
MDN定义说明了\b
的以下内容:
匹配零宽度字边界,例如字母和a之间 空间。 (不要与[\ b]混淆)
例如,/ \ bno /匹配“正午”中的“否”; / ly \ b /匹配 “可能昨天”中的“ly”。
那么为什么建筑物末端的g
不匹配?有人可以解释一下吗?
答案 0 :(得分:5)
/\bg/g.test('me building and him')
\bg/g
将尝试在字边界后搜索g
。传递的字符串不包含以g
开头的任何单词。
我认为你需要
/g\b/.test('me building and him') // true: finds building
使用Regex#test
时,您不需要g
标记/修饰符。