首页 > 解决方案 > 为什么这个词边界正则表达式没有按预期匹配?

问题描述

我有一组要在给定字符串中匹配的单词。

['foo', 'bar']

我只想匹配完整的单词,所以设置了以下测试用例。

var data = "I love foo, it's barb."
var words = ['foo', 'bar'];

我怎样才能匹配整个单词?

var data = 'I love foo its barb.';
var words = ['foo', 'bar'];
var matches = data.match(new RegExp('(\b' + words.join('\b|\b') + '\b)', 'ig'));
console.log(matches);

var data = 'I love foo its barb.';
var words = ['foo', 'bar'];
var matches = data.match(new RegExp('(' + words.join('|') + ')', 'ig'));
console.log(matches);

标签: javascriptregex

解决方案


推荐阅读