如何使用正则表达式发现段落内的重复

How to spot repetitions inside a paragraph using regex

对于语法纠正,尝试找出我的段落在一个句子中是否有 1 次或多次重复。

尝试过类似的方法无济于事:

[A-Z][^\.;]*(This was a)[^\.;]*

例如,一段像:

"This was a hot Summer, and seems not be the first. For my next vacation, I plan on going to Las Vegas. This was a weird Summer indeed."

一个正则表达式可以发现我的段落在两个句子的开头包含 1 次或多次重复 ("This was a")。什么是正确的正则表达式?

这会告诉您至少有一次重复以及什么。它不会告诉你它们在哪里:

(\b\S.*\b).*[.;:]\s+\K
  • (\b\S.*\b) - 以非 space 开头并在 "word" 边界
  • 开始和结束的事物的最长匹配
  • .* - 任何东西:)
  • [.:;]\s+ - "sentence" 终止符后跟至少一个 space
  • \K - 不要在匹配中包含到这里为止的任何内容
  • - 括号部分的重复

https://regex101.com/r/NH7w1R/1/