正则表达式在同一行重复单词

标签 regex

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

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

enter image description here

最佳答案

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

相关文章:

regex - 匹配所有正则表达式模式,直到达到定界模式

regex - 测试两列字符串以在 R 中逐行匹配

ruby - 等同于 Vim 的正则表达式开始和结束匹配 (`\zs` 和 `\ze` )?

python - 如何增加文件python中的最后一个数字

c++ - C/C++ 中的正则表达式库

php - 如何在忽略撇号的同时匹配不完整的单引号?

c# - .NET 正则表达式无法识别的分组构造

c# - ^ 后面的 ?= 是什么意思?

c# - .NET 从 HTML 页面中删除/剥离 JavaScript 和 CSS 代码块

regex - 从 URL 中删除文件名