2017-09-25 68 views
0

我已经写正则表达式来验证URL可能是要么匹配所有条件1,2和3等与两个匹配和非匹配图案至REGx图案

SRC =“// www.googletagmanager.com/pq.html ?ID = FDGDF-ASDCF “条件1(匹配) SRC = ”/ Folder1中/图像/ 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(不匹配)

Th我已用的电子的正则表达式是:

SRC \ S * = \ S * [ “” ']([^?' “”>] +?)[“ “”]

还测试在线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

有消极的向前看。

(* HTTP |?!。* WWW)

,使其成为

(* HTTP |?!。WWW)的src \ S = \ s * [ “”“] ?([^'“”> +?)['“”]

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

+0

非常感谢。它为我工作.. – user3540425