2016-03-19 68 views
0

我試圖在Java中創建正則表達式以匹配第一次出現的某個字符串(讓我們假設爲A)以及所有後續出現的其他字符串(比如說C)第一。查找字符串首次出現的後綴的正則表達式

因此,例如:

XAXXAXXCXC 

在這種情況下,以下的匹配應生成:

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

我已經部分地與正回顧後成功(見下文),但問題是,它不貪婪,所以A在位置4取代第一位:

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

你在編程方面使用這種匹配完成了什麼?或者這只是一個實驗? –

回答

1

最後我是s通過結合正面和負面的後顧之明來解決這個問題。但是有了一個限制,A必須在C之前定義一定長度(在本例中爲20)。

(?<=(?<!A.{0,20})(A).{0,20})C 
相關問題