HTTP地址一般是以字符串“http://”或“https://”开头的字符串。它可以被字符.、/、?、&、%、=分割。如http://www.ab.com、https://ac.cn、http://cn.net/ 2007/07/06 /aa.aspx?ID=1等。
HTTP地址在字符串“http://”或“https://”之后,首先是一个以字符.分割的字符串。以下正则表达式能够验证该字符串。
([/w-]+/.)+[/w-]+ (59)
正则表达式(59)解释:
[/w-]能够匹配单词字符和连接符号-。
/.匹配字符.。
[/w-]+/.能够匹配以单词字符和连接符号-组成的字符串开头的、以字符.结尾的字符串。
([/w-]+/.)+能够匹配1个或多个以单词字符和连接符号-组成的字符串开头的、以字符.结尾的字符串。
以下正则表达式能够验证HTTP地址中除了上述字符串之外的字符串。
(/[/w- ./?%&=]*)? (60)
正则表达式(60)解释:
/匹配字符/。
[/w- ./?%&=]能够匹配单词字符、-、 (空格)、.、/、?、%、&、=;[/w- ./?%&=]*能够匹配空字符串,或者由单词字符、-、 (空格)、.、/、?、%、&、=组成的长度至少为1的字符串。
(/[/w- ./?%&=]*)?表示表达式/[/w- ./?%&=]*匹配的字符串可以出现或者出现1次。
综合以上,以下正则表达式能够验证完整的HTTP地址。
http(s)?://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? (61)
使用工具Regex Tester测试正则表达式(60),结果如图所示。