如果在src中没有http或https, c# Regex将匹配HTML图像标签
本文关键字:Regex 标签 图像 HTML https src http 如果 | 更新日期: 2023-09-27 18:16:38
我有一个正则表达式被用来解析一些HTML,并确保img
标签有绝对引用,而不是相对的。
这是替换代码的正则表达式:
string replaced;
var imgPattern = @"(?i)(<img.+?)(src=['""'])(.+?)(['""'].*?>)"; //group 2 is the image path
replaced = Regex.Replace(Builder.ToString(), imgPattern, @"$1" + ConfigurationManager.AppSettings["MailAssetsURL"] + @"$2" + @"$3");
现在这工作得很好(我知道我不需要2组在结束),但我只想这样做,如果src不包含绝对路径即包含http或https。
感谢所有的帮助。
由于@hjpotter92,消极的前瞻性工作得很好。模式现在看起来像这样:
(?i)(<img.+?src=['"'])(?!http:?)(?!https:?)(.+?)(['"'].*?>)