首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

超链接 的正则表达式

2012-01-13 
求一个 超链接 的正则表达式VS自带的http(s)?://([\w-]+\.)+[\w-]+(/[\w-./?%&]*)?这个只能匹配类似这样

求一个 超链接 的正则表达式
VS自带的   http(s)?://([\w-]+\.)+[\w-]+(/[\w-   ./?%&=]*)?  
这个只能匹配类似这样的

http://xxx.xxx.xxx/xxx.xxx?xxx=xx

https:://xxx.xxx.xxx/xxx.xxx?xxx=xx

http://xxx.xxx.xxx/xxx.xxx

我希望还能匹配这样的
http://xxx.xxx.xxx:8080/xxx.xxx
http://xxx.xxx.xxx:8080/xxx.xxx?xxx=xx
http://xxx.xxx.xxx:8080/xxx.xxx?xxx=xx#yyyy
最后面的yy可以是任意字符串,8080可以是任何端口...

http://mmmm:8080/xxx.xxx?xxx=xx#yyyy   (最好也能匹配这个,不好弄的话就算了,我只是为了方便调试...)

不知道该如何改造这个正则?
多谢各位

[解决办法]
在那个基础上改进了一下,符合你要求的三种情况,试下

http(s)?://([\w-]+\.)+[\w-]+:\d+/([\w-]+\.)+[\w-]+(\?[\w-]+=[\w-]+)?(#[\w-]+)?

如果是给出的六种形式都要匹配,这样

http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?(:\d+/([\w-]+\.)+[\w-]+)?(\?[\w-]+=[\w-]+)?(#[\w-]+)?

PS:https:://xxx.xxx.xxx/xxx.xxx?xxx=xx
这个例子多了个:

热点排行