主题:【求助】提取网页源码中URL的正则表达式
孙瑞
[专家分:590] 发布于 2009-09-12 23:47:00
【求助】提取网页源码中URL的正则表达式,最重要的是,请附上详细的解释,谢谢!
回复列表 (共10个回复)
沙发
bcahzvip [专家分:6040] 发布于 2009-09-13 02:21:00
URL的正则表达式
怎么理解?
板凳
一江秋水 [专家分:9680] 发布于 2009-09-13 08:21:00
"(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)"
第一个附加子表达式是用来捕获该 web 地址的协议部分。该子表达式匹配位于一个冒号和两个正斜杠之前的任何单词。第二个附加子表达式捕获该地址的域名地址。该子表达式匹配不包 '^'、 '/' 或 ':' 字符的任何字符序列。第三个附加子表达式捕获网站端口号码,如果指定了该端口号。该子表达式匹配后跟一个冒号的零或多个数字。最后,第四个附加子表达式捕获由该 web 地址指定的路径以及\或者页面信息。该子表达式匹配一个和多个除'#' 或空格之外的字符。将该正则表达式应用于上面所示的 URI 后,子匹配包含下述内容:
RegExp.$1 包含 "http"
RegExp.$2 包含 "msdn.microsoft.com"
RegExp.$3 包含 ":80"
RegExp.$4 包含 "/scripting/default.htm"
3 楼
tanchuhan [专家分:15140] 发布于 2009-09-13 10:16:00
http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm
4 楼
孙瑞 [专家分:590] 发布于 2009-09-13 10:24:00
最好是能够达到提取所有的连接,比如:http://www.baidu.com/logo/jkdkls.asp=1244563
上面的网址并不存在,我的意思是能够匹配每一个网址:
我自己还没推,自己是初学正则表达式,才1天。
5 楼
孙瑞 [专家分:590] 发布于 2009-09-13 10:28:00
有一个问题,就是很多网页并不规范。例如
http://wsdfjsdf.com
http://www.sjdk:80/sdfjj.html
http://sdj.uk/login.asp?=125&user_loading=True
如何用正则表达式提取这些网址呢?
6 楼
孙瑞 [专家分:590] 发布于 2011-01-29 10:33:00
等待更详细回答……
7 楼
lxwlt [专家分:20] 发布于 2011-02-12 09:49:00
我也想学这个,不过看了一下正则头有点大,唉!
8 楼
bcahzvip [专家分:6040] 发布于 2011-02-12 10:51:00
[quote]有一个问题,就是很多网页并不规范。例如
http://wsdfjsdf.com
http://www.sjdk:80/sdfjj.html
http://sdj.uk/login.asp?=125&user_loading=True
如何用正则表达式提取这些网址呢?[/quote]
怎么看都只有协议部分一样了吧?
9 楼
prof [专家分:90] 发布于 2011-03-08 10:41:00
多年中小型项目开发经验,熟悉VB,VBA,Delphi和.NET平台,如有需要请联系QQ:3 8 3 1 4 7 8 1 8 请注明:pfan
10 楼
孙瑞 [专家分:590] 发布于 2011-07-30 17:47:00
[quote]多年中小型项目开发经验,熟悉VB,VBA,Delphi和.NET平台,如有需要请联系QQ:3 8 3 1 4 7 8 1 8 请注明:pfan[/quote]
拒绝广告
我来回复