javascript - 为什么这个词边界正则表达式没有按预期匹配?
问题描述
我有一组要在给定字符串中匹配的单词。
['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);
解决方案
推荐阅读
- xml - SVG“自动裁剪”算法。命令行首选
- flutter - 颤动PageView onPageChage setstate不起作用
- google-apps-script - ARRAYFORMULA() 以便它在除列的最后一个单元格之外的整个列中工作 - Google 表格
- javascript - 带有 Observables 和 FireAuth 的 Angular 11 Guard
- python - Python中的浮点字符串到IEEE 754 binary128
- powershell - Powershell斜线后两个dota的含义
- python - 按下按钮时如何更新 PyQt5 标签文本?
- javascript - 如果不单击“加载更多”按钮,API 中的对象不会呈现
- mysql - 当没有受影响的行时,如何中断 MySQL 查询的循环?
- apt - 如何使用 apt 以非交互方式安装 pip?