如果在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。

感谢所有的帮助。

如果在src中没有http或https, c# Regex将匹配HTML图像标签

由于@hjpotter92,消极的前瞻性工作得很好。模式现在看起来像这样:

(?i)(<img.+?src=['"'])(?!http:?)(?!https:?)(.+?)(['"'].*?>)