正则表达式在同一行重复了一句话

Pos*_*Lab 3 regex

正则表达式查找在同一行重复的单词?我已经尝试了一些表情,我在计算器上发现的这个,但没有正常工作.

我希望我能用图像更好地解释我想要实现的结果.谢谢你的耐心.

在此输入图像描述

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)