Python正则匹配问题求高手帮忙,python高手帮忙,这个正则"http[s]


这个正则"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]这种,如果希望字符组能够匹配连字符,应该将连字符放到字符组的首位。
如:[-$_.&+]

编橙之家文章,

评论关闭