2014-03-03 87 views
0

我要尋找一個正則表達式的子字符串從c的最後一次出現匹配的詞blah(字blah前):在一個字符串匹配最後一次出現

輸入:

acacacacadddddblahacacac 

輸出應該是cadddddblah

這可能嗎?

UPDATE

會如何看待一樣,如果我尋找另一個詞,而不是爲信c

輸入:

acblhacacacadddddblahacacac 

我正在尋找blhblah。結果應該是blhacacacadddddblah

回答

0

searching for blh to blah這是一種方式。雖然不是很乾淨。
剛剛獲得內BLH ..等等

blh(?:(?!blh|blah).)*blah 
1

此正則表達式應該做的伎倆

c[^c]*blah 

http://rubular.com/r/dotNrEH8gW

+0

哪裏是'在你的正則表達式blah'? – Barmar

+0

@Barmar對不起,我認爲這是直到字符串結尾 –

2

只是匹配序列不包括與blahc之間c

c[^c]*blah 
+0

請檢查我的更新。在那種情況下,正則表達式會如何呢? – user1414745

+0

如果可以,則匹配所有等於_last_'blah'的等級。 OP沒有提到sub blah的。 – sln

+0

@ user1414745看起來,罪的答案可以解決更新的問題,但我在負面視角方面並不擅長。試試看看。 – Barmar

3

您可以使用此:

c[^c]*?blah 
+1

你不需要'?'修飾符。 – Barmar

+0

@Barmar:懶惰量詞的目標是在第一個「blah」停止,如果有多個「blah」。 –

相關問題