用于查找第一次出现的字符串后缀的正则表达式

时间:2016-03-19 11:21:02

标签: java regex

我试图在Java中创建正则表达式,以匹配某些字符串的第一次出现(让他们说A)以及所有后续出现的其他字符串(让' s说C)第一个。

例如:

XAXXAXXCXC

在这种情况下,应该产生以下匹配:

AC (position 1 and 7)
AC (position 1 and 9)

我已经部分成功地获得了积极的观察(见下文),但问题是它并不贪心,所以取而代之的是第4位的A而不是第一位:

(?<=(A).{0,20})C

1 个答案:

答案 0 :(得分:1)

最后,我通过正反面观察的结合解决了这个问题。但是有一个限制,A必须在C之前到某个定义的长度(在这种情况下为20)。

(?<=(?<!A.{0,20})(A).{0,20})C