正则表达式,用于匹配文本中的相同单词

时间:2019-04-16 21:41:46

标签: regex

例如,我有文字:

单词1 单词2 单词3
(注意word1可以== word2 == word3)

当单词 word i )<= N 时,我希望我的正则表达式起作用。距离是两个单词之间的单词数:单词

word1和word2 id之间的距离为0。

word2和word3之间的距离为1。

不应该考虑单词1和单词3(= 2)之间的距离。

我使用正则表达式来解决此问题,但是它考虑了第一个和最后一个相同单词之间的距离。我该如何解决?

(\b\w+\b)\W+((\b\w+\b)\W+){N,}?\1

对于我的文本示例,我想要仅当N = 0或1时才能找到匹配的正则表达式。

(\b\w+\b)\W+((\b\w+\b)\W+){0,}?\1
(\b\w+\b)\W+((\b\w+\b)\W+){1,}?\1

但是现在当N = 2时它也可以工作

(\b\w+\b)\W+((\b\w+\b)\W+){2,}?\1

0 个答案:

没有答案