正则表达式查找在同一行上重复的单词?我尝试了一些我在 StackOverflow 上找到的表达式 this ,但没有一个能正常工作。

我希望我可以用图像更好地解释我想要达到的结果。谢谢你的耐心。

最佳答案

此正则表达式将查找您要突出显示的单词。 (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);

这将返回一个单词数组,可能是同一个单词的多次。

接下来你可以这样做:
re = new RegExp('\\b(' + a.join('|') + ')\\b', 'g');

这应该足以突出所有事件:
out = s.replace(re, function(m) { return '<b>' + m + '</b>' });

关于正则表达式在同一行重复单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16333681/

10-12 12:46
查看更多