正则表达式仅替换字符串中最后一个出现的项
本文关键字:最后一个 替换 字符串 正则表达式 | 更新日期: 2023-09-27 18:25:05
我正在尝试替换以下HTML:中每个图像的src
属性
var html = @"<img height=49 src=""Image25.gif"" width=94> or <img height=44 src=""Image26.gif"" width=117> or <img height=41 src=""Image27.gif"" width=46>";
Console.WriteLine( Regex.Replace( html,
@"(<img.*src="")(.*"".*>)",
m => m.Groups[1] + "/File/Download/" + m.Groups[2],
RegexOptions.IgnoreCase ) );
其输出为:
<img height=49 src="Image25.gif" width=94> or <img height=44 src="Image26.gif" width=117> or <img height=41 src="/File/Download/Image27.gif" width=46>
输出应为:
<img height=49 src="/File/Download/Image25.gif" width=94> or <img height=44 src="/File/Download/Image26.gif" width=117> or <img height=41 src="/File/Download/Image27.gif" width=46>
你能用C#在一行上做多个替换吗?
尝试*?
惰性量词:
Console.WriteLine(Regex.Replace(html,
@"(<img.*?src="")(.*?"".*?>)",
m => m.Groups[1] + "/File/Download/" + m.Groups[2],
RegexOptions.IgnoreCase));