具有匹配和非匹配模式的Regx模式

时间:2017-09-25 04:34:53

标签: preg-replace

我写了正则表达式来验证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"条件3(不匹配)

我使用的正则表达式是:

src \ s * = \ s * [""']?([^'"">] +?)[&# 39;""]

还在线REGEX TESTER

进行了测试

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

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

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

Regex rgx = new Regex(pattern);

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

请帮忙!

1 个答案:

答案 0 :(得分:0)

有一个负面的预测。

(* HTTP |?!。* WWW)

所以它变成

(?!。* http |。 www)src \ s = \ s * [“”']?([^'“”>] +?)['“”]

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