为了账号安全,请及时绑定邮箱和手机立即绑定

python正则表达式

难度初级
时长 1小时29分
学习人数
综合评分9.40
211人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.1 逻辑清晰
  • reg = re.compile(r'xx', re.I) , flag(re.I)的作用是忽略大小写

    查看全部
  • 正则表达式流程:pattern=>re.compile(r'xxx'), match=>pa.match('str')

    python自身匹配方法: str.find('xx')/startswith('xx') <=bool

    pa.match方法返回Match对象,现实对象内容使用match.group()     

    其他方法:match.span()匹配对象跨度/string匹配字符串/re表达式实例

    查看全部
  • Python 3 代码,获取图片不在是src开头,另外图片结尾有jpg和npg。特别是下载重命名时不能都命名为jpg格式。
    # get html 
    req = urllib.request.urlopen('https://www.imooc.com/course/list')
    buf_html = req.read().decode('utf-8')
    images_tmp = re.findall(r'data-original=.*(?:jpg|png)', buf_html)
    
    
    #get image url list
    img_urls = []
    for ins in images_tmp:
        t = re.split(r'//', ins)
        img_urls.append('http://' + t[1])
    
    i = 1
    for url in img_urls:
        fileName = open(str(i) + '.' + re.split(r'\.', url)[-1], 'wb')
        req1 = urllib.request.urlopen(url)
        buf_image = req1.read()
        fileName.write(buf_image)
        i += 1


    查看全部
  • 正则表达式

    查看全部
    0 采集 收起 来源:正则简介

    2020-03-25

  • '正则表达式语法'
    # 匹配的字符串也有[]时,需要转义,如r'\[[\w]\]'
    # 字符匹配
        # . 匹配\n除外的任意字符
        # [...] 匹配字符集,如[a-zA-Z0-9]
        # [\d]/[\D] 匹配数字/非数字
        # [\s]/[\S] 匹配空白/非空白
        # [\w]/[\W] 匹配单词字符[a-zA-Z0-9]/非单词字符
    # 多次匹配
        # * 匹配前一个字符0次或无限次,如r'[A-Z][a-z]*'可以匹配前面大写后面小写的任意个字符
        # + 匹配前一个字符1次或无限次,如r'[_a-zA-Z]+[_\w]'匹配下划线或字母开头的字符,即匹配有效变量
        # ? 匹配前一个字符0次或1次,[1-9]?[0-9]匹配有效的两位数
        # {m}/{m,n} 匹配前一个字符m次或者n次,如r'[a-zA-Z0-9]{6,10}@163.com'匹配6-10个字符的邮箱帐号,即匹配指定次数的的字符
        # *?/+?/?? 匹配模式变为非贪婪,即尽可能少匹配字符,r'[A-Z][a-z]*?只匹配符合的0次
    # 边界匹配,强匹配
        # ^ 匹配字符串开头如,r'^[\w]{4,10}@163.com$'匹配以任意4-10个有效字符开头,与@163.com结尾的字符
        # $ 匹配字符串结尾
        # \A/\Z 指定的字符串必须出现在开头或结尾
    # 分组匹配
        # | 匹配左右任意一个表达式
        # (ab) 括号中表达式作为一个分组
        # \<number> 引用编号为num的分组匹配到的字符串
        # (?P<name>) 分组起一个别名
        # (?P=name) 引用别名为name的分组匹配字符串


    查看全部
  • #环境python3.7
    import re
    import urllib.request
    
    req=urllib.request.urlopen('https://www.imooc.com/course/list')#读取网站
    buf=req.read().decode('utf-8')#读取网站中的字符串
    listurl1=re.findall(r'//img.+\.jpg',buf)#找到匹配对象
    str1=' '.join(listurl1)#在前面添加https:
    subhttps=re.sub(r'//','https://',str1)
    sht=re.split(r' ',subhttps)
    #保存图片
    i=0
    for url in sht:
        f=open(str(i)+'.jpg','wb+')#打开一个文件(文件名,写入方式)若不存在就会创建,wb+才支持byte的写入
        req=urllib.request.urlopen(url)
        buf=req.read()
        f.write(buf)
        i+=1


    查看全部
  • sub 与 split

    str3 = ‘imooc = 1000’

    info = re.sub(r'\d+' , '1001' , str3) 1000替换1001;1001也可以用函数代替

    查看全部
  • search 与 findall 区别

    info = re.search(r' \d+' , str1) 寻找str1中的数字

    str2 = 'c++=100,java=90,python=80'

    info = re.findall(r'\d+',str2) 寻找目标中的所有匹配项,并全部返回一个列表

    查看全部
  • 表达式语法2

    查看全部
  • 表达式语法


    查看全部
  • 正则表达式

    查看全部
  • http://img1.sycdn.imooc.com//5dc0d58c0001245e08320415.jpg

    RE模块的其他rererehttp://img1.sycdn.imooc.com//5dc0d58c0001fd0709370330.jpg

    查看全部
  • http://img1.sycdn.imooc.com//5dc0d3160001db9a08620409.jpg

    http://img1.sycdn.imooc.com//5dc0d317000198ec08610508.jpg正则表达式语法

    查看全部
  • http://img1.sycdn.imooc.com//5dc0d14100010f7a08470504.jpg正则表达式语法
    查看全部
  • http://img1.sycdn.imooc.com//5dc0ceef0001e73308800502.jpg正则表达式语法

    查看全部

举报

0/150
提交
取消
课程须知
本课程是Python中级课程 1、本课程在linux讲解,最好有linux开发环境 1、熟练掌握Python开发语言基础语法
老师告诉你能学到什么?
1.正则表达式基本语法 2.使用re模块处理文本

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!