如何使用正则表达式发现段落内的重复
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
- 不要在匹配中包含到这里为止的任何内容
- 括号部分的重复
对于语法纠正,尝试找出我的段落在一个句子中是否有 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
- 不要在匹配中包含到这里为止的任何内容- 括号部分的重复