我的问题相当简单,即使它的目的非常复杂。我将使用一个简单的例子:
AzzAyyAxxxxByyBzzB
所以通常我想得到和之间的A
一切B
。但是,由于第一个A
和最后一个B
(一对)之间的某些内容包含额外AB
的对,我需要推迟比赛的结束。(不确定最后一部分是否有意义)。
所以我正在寻找的是一些正则表达式,它可以让我得到以下输出:
Match 1
Group 1: AzzAyyAxxxxByyBzzB
Group 2: zzAyyAxxxxByyBzz
然后我会再次匹配它以获得:
Match 2
Group 1: AyyAxxxxByyB
Group 2: yyAxxxxByy
然后终于再次得到:
Match 3
Group 1: AxxxxB
Group 2: xxxx
显然,如果我尝试(A(.*?)B)
整个输入,我会得到:
Match x
Group 1: AzzAyyAxxxxB
Group 2: zzAyyAxxxx
这不是我要找的:)
我希望这是有道理的。我知道这是否不能在 RegEx 中完成,但我想在我放弃它并尝试其他方法之前,我会询问你们中的一些 regex 向导。谢谢!
附加信息:
我正在进行的项目是用 Java 编写的。
另一个问题是我正在解析一个可能包含以下内容的文档:
AzzAyyAxxxxByyBzzB
Here is some unrelated stuff
AzzAyyAxxxxByyBzzB
AzzzBxxArrrBAssssB
并且顶部对需要与底部对AB
分开AB