Java 复杂文本解析-请帮助解决
我的算法设计相当差,有一个复杂的问题-请看一看。我目前在Java/Groovy中工作 我有一些文字看起来像这样:Java 复杂文本解析-请帮助解决,java,regex,groovy,Java,Regex,Groovy,我的算法设计相当差,有一个复杂的问题-请看一看。我目前在Java/Groovy中工作 我有一些文字看起来像这样: AAAAA AAAAA CCCCC any stuff here 111 any stuff here AAAAA stuff AAAAA stuff AAAAA BBBBB stuff 222 stuff BBBBB /(\w{8}|\w{11}).*?(\w{3}).*?\1/ 我的挑战是获取所有AAAAAA格式
AAAAA
AAAAA
CCCCC
any stuff here
111
any stuff here
AAAAA
stuff
AAAAA
stuff
AAAAA
BBBBB
stuff
222
stuff
BBBBB
/(\w{8}|\w{11}).*?(\w{3}).*?\1/
我的挑战是获取所有AAAAAA格式的字符串,而不获取任何周围的文本。您可以看到字符串中有多个AAAAA,但我必须只获取最接近111s和222s的AAAAA,然后对所有此类字符串执行此操作
我的正则表达式(不工作)如下所示:
AAAAA
AAAAA
CCCCC
any stuff here
111
any stuff here
AAAAA
stuff
AAAAA
stuff
AAAAA
BBBBB
stuff
222
stuff
BBBBB
/(\w{8}|\w{11}).*?(\w{3}).*?\1/
我一直在和他们玩,他们要么抓取太多的文字,要么表演得太慢。。。如果有人知道我应该用什么来解决这类问题,请告诉我
编辑:以下是我试图匹配的内容:
AAAAA
CCCCC
any stuff here
111
any stuff here
AAAAA
及
我认为这与解析标记不正确的XML非常相似。
无论如何,谢谢您的关注。使用正则表达式模式
(?s)\b(\w{5})\b(?:(?!\1).)*?\b\w{3}\b(?:(?!\1).)*?\1
请更清楚地告诉我们您希望匹配示例输入的哪些部分好吗?请给出一些示例输出,以确保清晰。感谢您的输入,我在原始帖子中添加了示例。@Chris-Regex,顾名思义,用于匹配/形成正则表达式,而不是检测匹配的接近程度。你混淆了两种完全不同的东西。在现实世界中,
AAAAA
,BBBBB
,111
和222
可以是什么?给我们展示一些真实的例子,不要胡说八道。。。。