bar*_*art 16
这个正则表达式将用于查找要突出显示的单词.(在Javascript中的示例,易于在浏览器的Javascript控制台中进行测试.)
s = "It's a foo and a bar and a bar and a foo too.";
a = s.match(/\b(\w+)\b(?=.*\b\1\b)/g);
Run Code Online (Sandbox Code Playgroud)
这将返回一个单词数组,可能是同一个单词的多次.
接下来你可以这样做:
re = new RegExp('\\b(' + a.join('|') + ')\\b', 'g');
Run Code Online (Sandbox Code Playgroud)
这应该足以突出所有事件:
out = s.replace(re, function(m) { return '<b>' + m + '</b>' });
Run Code Online (Sandbox Code Playgroud)