2014-03-06 43 views
-1

我有給出一個字符串:正則表達式只保留IMG SRC文本

< img src='^f('hImagepath')[1].label()^MegaMillions_NoBkgd.png'/>

我希望有一個正則表達式,將返回我「MegaMillions_NoBkgd.png」上面的字符串 的結果,這部分使用正則表達式後應將「MegaMillions_NoBkgd.png」存儲在一個字符串變量中。

在此先感謝

+0

Regex.Match(HTML, 「 *」,RegexOptions.IgnoreCase).Groups [1]。價值; – Nikki

+0

爲了甚至可以負責,您需要添加一些關於字符串中可能有所不同的更多信息。我假設' Kjartan

+0

好吧,使它更簡單,至少我需要整個src值:'^ f('hImagepath')[1] .label()^ MegaMillions_NoBkgd.png' – Nikki

回答

0

然後,我相信這應該給你你需要什麼,或多或少:

var x = "< img src='^f('hImagepath')[1].label()^MegaMillions_NoBkgd.png'/>"; 

// Result will be: 
// ^f('hImagepath')[1].label()^MegaMillions_NoBkgd.png' 
var result = Regex.Match(x, @"\^f\((.)*'").Value; 

。當然,更簡單,更可讀的解決辦法是做這樣的事情這,並避免完全使用正則表達式:

var x = "<img src='^f('hImagepath')[1].label()^MegaMillions_NoBkgd.png'/>"; 
var urlStart = x.IndexOf("'") + 1; 
var urlStop = x.LastIndexOf("'"); 
var result = x.Substring(urlStart, (urlStop - urlStart)); 
0
string matchString = Regex.Match(original_text, @"(<img([^>]+)>)").Value; 
+0

這將返回完整的img標記 – Nikki

0

這會給你預期的結果:

string s = "< img src='^f('hImagepath')[1].label()^MegaMillions_NoBkgd.png'/>"; 
int start = s.LastIndexOf('^'); 
int stop = s.LastIndexOf('\''); 

string result = s.Substring(start+1, stop-start-1); 
相關問題