这个正则"http[s]?://www.sina.com.cn/(?:[a-zA-Z]|[0-9]|[$-_.&+]|(?:%[0-9a-fA-F][0-9a-fA-F]))+"
为什么会匹配到“http://www.sina.com.cn/js/67/sinaindex/2013/gd.js';”,为什么最后会有"';"?
同意楼上的答案,连字符在字符组中如果不是在开始的位置是有特殊意义的
如[a-z]
和[0-9]
这种,如果希望字符组能够匹配连字符,应该将连字符放到字符组的首位。
如:[-$_.&+]
附上从字符$到字符_的字符集: