短地址识别正则表达式

2020-06-08  本文已影响0人  刚刚8888
完全短地址正则兼容各种情况:
/((http|https|ftp|ftps):\/\/)?([a-zA-Z0-9-]+\.){1,5}(com|cn|net|org|hk|tw|click|win|hn|mp|ly|me|so)((\/(\w|-)+(\.([a-zA-Z0-9]+))?)+)?(\/)?(\??([\.%:a-zA-Z0-9_-]+=[#\.%:a-zA-Z0-9_-]+(&)?)+)?/g 

微博短地址识别正则表达式

最近做一个微博类的工作站,哭哭找没找到,只能自己根据需求写了一个
识别以中文和空格作为结束符号

短地址识别正则如下:

((http|https|ftp|ftps):\/\/)?([a-zA-Z0-9-]+\.){1,5}(com|cn|net|org|hk|tw)((\/(\w|-)+(\.([a-zA-Z]+))?)+)?(\/)?(\??([\.%:a-zA-Z0-9_-]+=[#\.%:a-zA-Z0-9_-]+(&)?)+)?

解释:
((http|https|ftp|ftps)://)?
表示是否带有请求的头部
([a-zA-Z0-9-]+.){1,5}(com|cn|net|org|hk|tw)
表示域名的本身,包含了5极和域名后缀
((/(\w|-)+(.([a-zA-Z]+))?)+)?(/)?
表示域名后紧跟的域名地址
包含了直接跟"/"、"////."的情况
(/)?(??([.%:a-zA-Z0-9_-]+=[#.%:a-zA-Z0-9_-]+(&)?)+)?
表示编码后的url地址
包含了"?
="、"?=&=**#sdsd"的情况

缺点:
与新浪微博一样,容易将话题的#符号一起作为短地址的一部分

上一篇下一篇

猜你喜欢

热点阅读