2

我有很多 OCR 文本,其中包含很多不需要的文本。手头的问题是找到其中至少有 3 个字符的单词,但同一字符的连续重复不超过 3 个。

我已经得到了两个不同的正则表达式适用于两个不同的规则,但不知道如何组合它们

这一个匹配具有 3 个连续重复的单词:(与下一个结合时需要取反) (.*)\1{2,}

这一个匹配具有 3 个或更多字母字符的单词 \b[a-zA-Z]{3,}\b

我现在需要把这两个加在一起,做一个表达式。这里有些例子

我想匹配的词

  • 杰克
  • 松弛
  • 跟踪
  • 马卡

我不想匹配的词

  • 江淮(不够长)
  • Slaaack(有 3 个连续重复的“A”)

任何帮助将不胜感激。

4

1 回答 1

1

使用负前瞻来检测重复字符。您已经知道解决方案的其余部分:-)

/\b(?![a-z]*?([a-z])\1{2})[a-z]{3,}\b/i
于 2013-10-23T10:41:17.277 回答