如何理解匹配网址的正则表达式
[a-zA-z]+://[^\s]*
分解开3部分
[a-zA-z]+ :// [^\s]*
第1部分. [a-zA-z] + 又细分三部分,第一部分[a-zA-z] , 第二部分 + 这两部分被中括号[ ]包括起来
下面详细理解:
一:[a-zA-z] 表示26个小写字母与26个大写字母以及6个特殊字符 中的任意1个。
注意A-z段的ASCII字符,红色的字符[\]^_'是夹在Z和a之间的。也就是说A-z,不但包含了26个大小写英文字符,还包含了几个符号字符。
原因请看ASCII字符表

二:+号跟在 [a-zA-z] 后面表示 这部分可以重复1到多次。
一二两部分加起来,就可以匹配http, https,ftp,emule(电驴下载),磁力链接,迅雷下载,QQ旋风下载等全协议了
第2部分: :// 很容易理解, http://www.xxx.com 中的是固定格式
第3部分:[^\s]*
^ 表示 异或。 \s 匹配任意空白字符,等价于 [\t\n\r\f]。 两部分合起来[^\s],则表示非空字符
后面的* 表示 [^\s] 重复0到多次。
网友评论