python第十一天笔记

今日目标:
    正则表达式
    python高级特性
    网络相关的库
        |-- requests
    


正则表达式:
    
什么是正则表达式(Regular Expression):
    
正则表达式历史:
    
python如何使用正则:
    一般而言,不同的编程都会提供对正则的支持,如java中,字符串对象中,有些方法直接支持正则,也同时提供正则的对应类
    python也同样的道理,它为开发者提供了一个专门支持正则的模块 -- re

re模块:
    常见方法:
        compile()
        search()
        findall()
        finditer()
        sub()
        split()
        match("需要匹配的规则", 文本字符串)        # 表示从头匹配

正则表达式:
    
元字符:
    
    .        # 匹配任意符号,除换行符之外(\n)
    \w        # 匹配有效符号(大小写字母、数字、_、各国的语言符号(python3)),不匹配特殊符号, 等价于:[a-zA-Z0-9_]
    \d        # 匹配数字0~9 十个数字,等价于 [0123456789]
    \s        # 匹配的空白位    常见的如:空格、\t、\n等符号

    [abcd]        # 该位置,必须是abcd中的某个来占位,列举
        |-- 匹配数字:[0123456789]、[0-9]
        |-- 匹配小写字母:[a-z]
        |-- 匹配大写字母:[A-Z]
        |-- 有效符号:[a-zA-Z0-9_]

    ^        # 以什么开头
    $        # 以什么结尾


            
反义符:
    \W        # 匹配特殊符号
    \D        # 匹配非数字
    \S        # 匹配非空白位
    [^abcd]        # 表示该位不能使用列举中的某个符号

转义符:
    在绝多数的编程语言中,字符串操作都是存在转义符, \x
    为什么在window系统的中,文件系统路径的分隔符是\\(本质最后是一个\)

    正则中呢?
    在正则中,反斜杠也存在转义的作用!!!

注意:在python中,如果出现路径等情况,建议使用r"regexp",这种方式,减少转义符多次转义!!
    推荐:所有的正则表达式前面,都建议加上r!!!!!

重复(位数):
    *        # 任意位(0到多位)
    +        # 1到多位
    ?        # 表示0或者1,也就是说:可以没有,也可以有,但是有的话,只能是一位
    {m}        # 表示m位,m是个正整数
    {m,}        # 表示至少m位,可以更多
    {m,n}        # 表示范围区间[m, n]    (m<=n)

        
课堂练习:
    匹配出openlab的邮箱地址,且@之前有4到20为字符,如59127_ljh@openlab.com
    [a-zA-Z0-9_]{4,20}@openlab\.com

分组:
    多个组合的列举:
        正则中,存在了一个|符号,表示的意思或者,多个中筛选
        [a-zA-Z0-9_]{4,20}@openlab\.(com|org|cn|io)


    括号除了在多个组合的列举作用外,还有一个非常重要的作用,就是分组

    在正则表达式进行匹配的时候,在匹配完成之后,可以做二次匹配!!!
    注意,分组是由括号完成的!!!

如何匹配一个标签:r"</?\w+>"

贪婪与懒惰:
    正则表达式中,如果使用多位匹配,则存在了一个贪婪和非贪婪模式,
    贪婪模式:尽可能多的匹配
    非太贪婪模式:尽可能少的匹配

    贪婪模式 --> 懒惰模式,只需要在位数的后面加上?
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值