我的字符串为给定:
< img src='^f('hImagepath')[1].label()^MegaMillions_NoBkgd.png'/>
我想要一个正则表达式,它会将我返回" megamillions_nobkgd.png"上面字符串的这一部分使用正则表达式后的结果应为" Megamillions_nobkgd.png",存储在字符串变量中。
预先感谢
,我相信这应该给您所需的东西,或多或少:
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));
string matchString = Regex.Match(original_text, @"(<img([^>]+)>)").Value;
这将为您带来预期的结果:
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);