如何使用正则表达式查看段落内的重复

问题描述 投票:0回答:1

对于语法校正,试图发现我的段落在句子中是否有1次或更多次重复。

试过这样的事无济于事:

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

例如,一段如下:

“这是一个炎热的夏天,似乎不是第一个。对于我的下一个假期,我打算去拉斯维加斯。这确实是一个奇怪的夏天。”

一个正则表达式,可以发现我的段落在两个句子的开头包含一个或多个重复(“这是一个”)。什么是正确的正则表达式?

regex grammar paragraph
1个回答
1
投票

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

(\b\S.*\b).*[.;:]\s+\K\1
  • (\b\S.*\b) - 以非空间开始和结束于“单词”边界的东西的最长匹配
  • .* - 任何东西:)
  • [.:;]\s+ - “句子”终结者,后跟至少一个空格
  • \K - 在比赛中不包括任何东西
  • \1 - 重复括号部分

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

© www.soinside.com 2019 - 2024. All rights reserved.