具有匹配和非匹配模式的正则表达式模式

Regx pattern with both matching and non matching pattern

我已经编写了正则表达式来验证 URL,它可以匹配所有条件 1、2 和 3,例如

src="//www.googletagmanager.com/pq.html?id=FDGDF-ASDCF" 条件1(匹配) src="/Folder1/Images/RTimequest_banne345435.png" 条件1(匹配)

src="http://img.jp.mysite.com/imgv4/common/arrows/arrow-double-r01.gif" 条件 2(不匹配) src="//www.googletagmanager.com/ns.html?id=GTM-MQNC2Z4" Condition3(不匹配)

我使用的正则表达式是:

src\s*=\s*[""']?([^'"" >]+?)[ '""]

也在线测试REGEX TESTER

但我想跳过相同正则表达式模式中的不匹配条件 2 和 3(URL 以 www 或 HTTP 开头)。

string pattern = @"src\s*=\s*[""']?([^'"" >]+?)[ '""][^>]";

string replacement = "src=" + '"' + "www.mysite.com" + "" + '"' + " ";

Regex rgx = new Regex(pattern);

string WebResp_html = rgx.Replace(WebResp_html, replacement);

请帮忙!

负面展望。

(?!.*http|.*www)

于是就变成了

(?!.*http|.www)src\s=\s*[""']?([^'"" >]+? )[ '""]

这将检查字符串是否包含 http 或 www,如果包含则不匹配。