我在算法设计方面相当差,并且有一个复杂的问题 - 请看一下。我目前正在使用 Java/Groovy。
我有一些看起来像这样的文本:
AAAAA
AAAAA
CCCCC
any stuff here
111
any stuff here
AAAAA
stuff
AAAAA
stuff
AAAAA
BBBBB
stuff
222
stuff
BBBBB
我的挑战是抓取所有格式为 AAAAA stuff 111 stuff AAAAA 的字符串,而不抓取任何周围的文本。可以看到字符串中有多个AAAAA,但我必须只抓取最接近111s和222s的那些,然后对所有这种类型的字符串执行此操作。
我的正则表达式(不起作用)如下所示:
/(\w{8}|\w{11}).*?(\w{3}).*?\1/
我一直在玩一堆他们,他们要么抓取太多文本,要么执行得太慢......如果有人知道我应该使用什么来解决这类问题,请告诉我。
编辑:这些是我想要匹配的:
AAAAA
CCCCC
any stuff here
111
any stuff here
AAAAA
和
BBBBB
stuff
222
stuff
BBBBB
我想说这很像解析不正确标记的 XML。无论如何,感谢您的关注。