1
出於某種原因,以下正則表達式不像我所期望的那樣運行。用正則表達式查找空格的鏈接
我想從HTML廣告中提取所有鏈接,儘管我似乎無法找到正確處理空格鏈接的方法。
我知道鏈接應該被編碼,但如果我找不到它們,就沒有辦法對鏈接進行編碼。
我對這個html進行測試 - 注意唯一的區別是{你的參考}中的空間。
Find out <a href="http://website.co.uk?element=1&reference={your reference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;">.</span><br />
Find out <a href="http://website.co.uk?element=1&reference={yourreference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;">.</span><br />
用下面的正則表達式我只能得到鏈接,沒有任何空間的預期:
href="http(s{0,1}):\/\/(\S+)"
發現:
href="http://website.co.uk?element=1&reference={yourreference}"
但是,如果我改變\ S到一個。我希望檢查返回鏈接到收盤」,但它幾乎持續到字符串的結尾:
href="http(s{0,1}):\/\/(.+)"
發現:
href="http://website.co.uk?element=1&reference={your reference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"
href="http://website.co.uk?element=1&reference={yourreference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"
我也有一些不同的檢查撿起不同的鏈接,最後看起來像這樣:
(href="|href=\')%%siteurl%%(\S*)("|\')
|href="www\.(\S+)"
|href="http(s{0,1}):\/\/(\S+)"
|href=\'www\.(\S+)\'
|href=\'http(s{0,1}):\/\/(\S+)\'
我不是在尋找這個設置的幫助,只是貼出原始正則表達式,我會相應地調整其餘部分。
完美,感謝您的快速響應! –