[导入][原创]二级域名正则表达式 分析+分割 URL

假定希望将下述的URI 分解为协议 (ftp, http, etc),域名地址以及页面/路径:

http://jorkin.reallydo.com:80/article.asp?id=388

下面的正则表达式可以提供这个功能。对 VBScript 为:

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

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

将该正则表达式应用于上面所示的 URI 后,子匹配包含下述内容:

RegExp.$1 包含 "http://"
RegExp.$2 包含 "jorkin"
RegExp.$3 包含 ".reallydo.com"
RegExp.$4 包含 ":80"
RegExp.$5 包含 "/article.asp?id=388"


文章来源:http://Jorkin.Reallydo.Com/default.asp?id=388
posted @ 2007-11-07 08:53  pboy2925  阅读(2182)  评论(0)    收藏  举报