正则表达式匹配相同单词的第n(n> 1)次出现

时间:2015-08-23 19:46:50

标签: regex

我想要一个正则表达式,它可以匹配文本中同一个单词的第n(n> 1)次出现。我需要这个来检测文本中的重复单词。

示例:"一两三十九六" ({' one',' one'' ten'}应该被检测到。)

我找到了几个关于如何检测给定模式重复出现的例子。这个问题有所不同,因为我们事先并不知道哪些词会重复。这是否可以使用正则表达式?

1 个答案:

答案 0 :(得分:0)

严格来说,正则表达式不能这样做。但是,大多数“正则表达式”引擎支持反向引用(严格来说,正则表达式无法做到的事情),这将允许您匹配这些事情,例如:

\b(\w+)\b.*\b\1\b

...会在几个不同的地方匹配,第一次捕获包含重复的单词。