python正则表达式匹配不包含某几个字符的字符串

     一、匹配目标

            文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串

    二、尝试过程

    1)       自然想到正则表达式r'(https?://.*?.jpg|https?://.*?.png|https?://.*?.jpeg)简化书写为r'(https?://.*?\.(?:jpg|png|jpeg)

 匹配结果:['http://sdsdsdadadsdsdsddsdsdawwii,https://sdsdoijcjz.jpg']发现结果并非我们想要的,仔细查看,结果中出现了,或者"等符号,因此需要将这些字符去除

   2)更改正则表达式为r'(https?://[^ ",]*?\.jpg|https?://[^ ",]*?\.png)' 简化书写为r'(https?://[^, "]*?\.(?:jpg|png|jpeg))

  匹配结果 : [https://sdsdoijcjz.jpg']

 完美匹配。

你可能感兴趣的:(Python基础)