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+)\'
我不是在寻找这个设置的帮助,只是贴出原始正则表达式,我会相应地调整其余部分。
完美,感谢您的快速响应! –