例如,我有文字:
单词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