如下的正则是微软的RequiredValidator给出的一个验证url的正则:
return Regex.IsMatch(url, @"^(http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?)");
但它却无法验证下面的合法的url:http://music.baidu.com/data/music/file?link=http://zhangmenshiting.baidu.com/data2/music/44804513/6237481386385261256.mp3?xcode=5783621f0872c7660bd5610e84013b92d2f16e4c46cd1d3f&song_id=623748
到底是哪块匹配不上呢? 我分析了很久,有点然,没分析出来。
在这里面加多一个 冒号
[\w- ./?%&=:]