2013-03-15 142 views
5

這裏出現一個符號(^)之間的匹配一切數據正則表達式爲字符串,並排除插入符號(^)

[StupidHtml]: AZaz.-09^abcdabcd^a^a^ 

我需要一個正則表達式來檢索[StupidHtml]:^

第一次出現之間的數據

目前我使用

(?<=\[StupidHtml\]\:)(.*)(?=\^) 

但是,其結果是:

AZaz.-09^abcdabcd^a^a 

我需要實現Azaz.-09

+0

謝謝marc_s的編輯。 – HawkEye13 2013-03-15 10:20:54

回答

1

試試這個:

(?<=\[StupidHtml\]\:)(.*?)(?=\^) 
0

.將匹配任何字符,甚至^。你需要從匹配的類

排除把它給一個嘗試(?<=\[StupidHtml\]\:)([^\^]*)(?=\^)

2

讓你的正則表達式使用(.*?)代替(.*)貪心不足:

\[StupidHtml\]\:(.*?)\^ 
+0

它需要符號'^' – Sergio 2013-03-15 10:07:23

+0

(?<= \ [StupidHtml \] \:)(。*?)(?= \ ^)效果很好。我相信。 – HawkEye13 2013-03-15 10:13:24

+0

+1爲Blender給我的想法,使它不那麼貪婪。 – HawkEye13 2013-03-15 10:19:48