寻找正则表达式找到一个单词(5个字符)在同一行重复5次

时间:2014-09-19 19:27:27

标签: java regex

我使用一些正则表达式来搜索文本中的单词而不使用java.util的Pattern和Matcher类来运行正则表达式。我正在寻找一个正则表达式,在同一行字符上找到至少五次重复4次的完整单词。

例如,此行中的“return”一词:右侧返回,左侧返回,您必须再次返回。

我知道如何找到一个至少5个字符的单词\ b \ w {5} \ b但是其余的时间我都会卡住。

谢谢你的帮助

1 个答案:

答案 0 :(得分:4)

您可以使用这样的正则表达式。

(\\b\\w{5}\\b)(?:.*?\\1){4}

注意:我上面使用了非捕获组,所以如果您需要更改重复次数,可以使用。

说明:

(             # group and capture to \1:
  \b          #   the boundary between a word char (\w) and not a word char
  \w{5}       #   word characters (a-z, A-Z, 0-9, _) (5 times)
  \b          #   the boundary between a word char (\w) and not a word char
)             # end of \1
(?:           # group, but do not capture (4 times):
  .*?         #   any character except \n (0 or more times)
  \1          #   what was matched by capture \1
){4}          # end of grouping