java - 正则表达式查找行中的合并部分

标签 java regex

我的句子是这样的

"abc efg hij klm vdfjgdf dfkgrt r4645 45.567.34.675 435.56.234.435 Appleabc efg hij klm vdfjgdf dfkgrt r4645 45.567.34.675 435.56.234.435 Orange"

在我的句子中,除了 Apple 和 Orange 之外,所有单词都重复了两次。 我需要正则表达式来查找突出显示/粗体部分

"abc efg hij klm vdfjgdf dfkgrt r4645 45.567.34.675 435.56.234.435 Appleabc efg hij klm vdfjgdf dfkgrt r4645 45.567.34.675 435.56.234.435 Orange"

我尝试过 "abc\sefg\s.+?Orange" ,它代表整个句子。请帮忙

最佳答案

找到“某事”((.*) - 注意组),并使用反向引用在另一个“某事”之后再次匹配它(\1 - 匹配之前找到的组):

(.*).*(\1.*)

您想要的内容位于第二个捕获组中。

演示:https://regex101.com/r/nK9vK4/1

Java 演示:https://ideone.com/4G8paV

关于java - 正则表达式查找行中的合并部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38971591/

相关文章:

java - Weblogic 10.3开启管理员端口后无法访问

java - 推广移动搜索算法以使用递归

java - 从Java中的派生类调用基类构造函数

java - 基本实现的正则表达式模式匹配行为

python - .* 与 ^ 的非贪婪匹配

regex - 为 ' regexp ' 、 '\c+' 和 '\i\c* ' 评估 ' [\i-[:]][\c-[:]]* ' 的问题

java - 资源管理器 : unable to find resource 'emailTemplate.vm' in any resource loader

java - 使用 Jcodemodel 生成导入

Java:验证特定的字符串模式

python - 使用 WTForms 和 python 进行正则表达式验证