python如何用正则取字符串里面的图片


def test_3():
    import re
    s = r""":"<p><img data-lazyload=\"http://img30.360buyimg.com/popWareDetail/jfs/t1/91169/26/38802/211855/644b5722Fa46be2cb/9c52956a370a403a.jpg\" style=\"width: auto; height: auto; max-width: 100%;\"><img data-lazyload=\"http://img30.360buyimg.com/popWareDetail/jfs/t1/219653/21/27995/96158/644a219aFc47f6117/ca32d66d3ff91d9c.jpg\" style=\"width: auto; height: auto; max-width: 100%;\"><img data-lazyload=\"http://img30.360buyimg.com/popWareDetail/jfs/t1/138359/6/34771/159267/644a219bFb4a9a446/f770a887c8a602e3.jpg\" style=\"width: auto; height: auto; max-width: 100%;\"><img data-lazyload=\"http://img30.360buyimg.com/popWareDetail/jfs/t1/187239/31/33559/148093/644a219bF23241763/26abfa72611f7c42.jpg\" """

    # 如何用正则取字符串里面的图片
    desc_img = re.findall('http?://[^"]+?\.(?:jpe?g|gif|png)(?=")', s)
    print(desc_img)


if __name__ == "__main__":
    test_3()

结果为空

img

改成:
desc_img = re.findall('http?://.*?.(?:jpe?g|gif|png)', s)

jpe?g这是啥意思

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7683853
  • 你也可以参考下这篇文章:python使用正则去除字符串里多余的空白字符
  • 你还可以看下python参考手册中的 python- 格式化字符串字面值
  • 除此之外, 这篇博客: python的字符串及练习中的 字符串去除两边空格 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • s.strip() 去掉两边空格
    s.rstrip() 去除右边空格
    s.lstrip() 去除左边空格
    .strip(‘h’)去掉两边的h
    .lstrip(‘h’)去掉左边的h
    .rstrip(‘h’)去掉右边的h
    **注意: strip对\n,和\t都生效**
    
    
    In [1]: s = '      hello      '                                         
    
    In [2]: s                                                               
    Out[2]: '      hello      '
    
    In [3]: s.strip()                                                       
    Out[3]: 'hello'
    
    In [4]: s.rstrip()                                                      
    Out[4]: '      hello'
    
    In [5]: s.lstrip()                                                      
    Out[5]: 'hello      '
    
    In [6]: s = '\nhello\t\t'        
    Out[7]: 'hello'
    In [8]: s = 'helloh'                                                    
    
    In [9]: s.strip('h')        ##去除两边的h                                            
    Out[9]: 'ello'
    
    In [10]: s.rstrip('h')       ##去除右边的h                                      
    Out[10]: 'hello'
    
    In [11]: s.lstrip('')      #去除左边的h                                 
    Out[11]: 'elloh'
    
  • 您还可以看一下 王梦老师的python每天15分钟零基础入门课程中的 字符串常用的函数小节, 巩固相关知识点