回 帖 发 新 帖 刷新版面

主题:【求助】提取网页源码中URL的正则表达式

【求助】提取网页源码中URL的正则表达式,最重要的是,请附上详细的解释,谢谢!

回复列表 (共10个回复)

沙发

URL的正则表达式
怎么理解?

板凳

"(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)"

  第一个附加子表达式是用来捕获该 web 地址的协议部分。该子表达式匹配位于一个冒号和两个正斜杠之前的任何单词。第二个附加子表达式捕获该地址的域名地址。该子表达式匹配不包 '^'、 '/' 或 ':' 字符的任何字符序列。第三个附加子表达式捕获网站端口号码,如果指定了该端口号。该子表达式匹配后跟一个冒号的零或多个数字。最后,第四个附加子表达式捕获由该 web 地址指定的路径以及\或者页面信息。该子表达式匹配一个和多个除'#' 或空格之外的字符。将该正则表达式应用于上面所示的 URI 后,子匹配包含下述内容:

RegExp.$1 包含 "http"
RegExp.$2 包含 "msdn.microsoft.com"
RegExp.$3 包含 ":80"
RegExp.$4 包含 "/scripting/default.htm"

3 楼

http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm

4 楼

最好是能够达到提取所有的连接,比如:http://www.baidu.com/logo/jkdkls.asp=1244563
上面的网址并不存在,我的意思是能够匹配每一个网址:
我自己还没推,自己是初学正则表达式,才1天。

5 楼

有一个问题,就是很多网页并不规范。例如
http://wsdfjsdf.com
http://www.sjdk:80/sdfjj.html
http://sdj.uk/login.asp?=125&user_loading=True
如何用正则表达式提取这些网址呢?

6 楼

等待更详细回答……

7 楼

我也想学这个,不过看了一下正则头有点大,唉!

8 楼

[quote]有一个问题,就是很多网页并不规范。例如
http://wsdfjsdf.com
http://www.sjdk:80/sdfjj.html
http://sdj.uk/login.asp?=125&user_loading=True
如何用正则表达式提取这些网址呢?[/quote]

怎么看都只有协议部分一样了吧?

9 楼

多年中小型项目开发经验,熟悉VB,VBA,Delphi和.NET平台,如有需要请联系QQ:3 8 3 1 4 7 8 1 8 请注明:pfan

10 楼

[quote]多年中小型项目开发经验,熟悉VB,VBA,Delphi和.NET平台,如有需要请联系QQ:3 8 3 1 4 7 8 1 8 请注明:pfan[/quote]
拒绝广告

我来回复

您尚未登录,请登录后再回复。点此登录或注册