我写了正则表达式来验证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);
请帮忙!
答案 0 :(得分:0)
有一个负面的预测。
(* HTTP |?!。* WWW)
所以它变成
(?!。* http |。 www)src \ s = \ s * [“”']?([^'“”>] +?)['“”]
检查字符串是否包含http或www,如果是,则不匹配。