首页 > 上网技巧 > 电脑小技巧 > 正确匹配网址URL的正则表达式

正确匹配网址URL的正则表达式

时间:2017-09-14 09:12 作者:QQ地带 我要评论

网上流传着多种匹配URL的正则表达式版本,但我经过试验,最好用的还是从stackoverflow上查到的:
 
(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]
 
IP地址、前后有汉字、带参数的,都是OK的。
 
 
 
 
另外几个有问题的版本:
摘自微软MSDN:
 
(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?
 
带参数的匹配有问题。
 
 
 
百度知道中有人回答的:
 
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
 
有严重的汉字问题。
 
 
 
另外,如果只是想匹配URL中的域名部分,则可以用这个:
((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(:[0-9]+)?|(?:ww‌​w.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?‌​(?:[\w]*))?)

标签: 正则表达式
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告