python正则表达式

    Python1.5版本之后,增加了re模块,re模块提供了正则表达式的模式,使得Python拥有了正则表达式的全部功能。

    一.re的相关函数

    

        re.match(pattern,String,flags=0):尝试从字符串的起始位置,匹配某一个模式。如果不是从起始位置匹配成功的话返回None。

        参数:pattern:模式匹配的表达式

                 String:要匹配的字符串

                 flags:标志位,用来匹配正则表达式的匹配方式。分别有re.I(忽略大小写匹配)、re.L(本地化识别)、re.S(匹配包括换行符在内的所有字符)、re.M(多行匹配,影响^和$)、re.U(根据Unicode字符集解析字符,影响\w,\W,\b,\B)、re.X(以更灵活的方式理解正则表达式)

       

        re.search(pattern,String,flags=0):扫描整个字符串,并且返回第一个成功的匹配。

        参数:pattern:模式匹配的表达式

                 String:要匹配的字符串

                 flags:标志位,用来匹配正则表达式的匹配方式。分别有re.I(忽略大小写匹配)、re.L(本地化识别)、re.S(匹配包括换行符在内的所有字符)、re.M(多行匹配,影响^和$)、re.U(根据Unicode字符集解析字符,影响\w,\W,\b,\B)、re.X(以更灵活的方式理解正则表达式)

        

        re.findall(pattern,String,flags=0):扫描整个字符串,并且返回结果列表。

        参数:pattern:模式匹配的表达式

                 String:要匹配的字符串

                 flags:标志位,用来匹配正则表达式的匹配方式。分别有re.I(忽略大小写匹配)、re.L(本地化识别)、re.S(匹配包括换行符在内的所有字符)、re.M(多行匹配,影响^和$)、re.U(根据Unicode字符集解析字符,影响\w,\W,\b,\B)、re.X(以更灵活的方式理解正则表达式)

        

        re.finditer(psttern,string,flags=0):与findall()类似,返回一个迭代器。

    二、正则表达式的元字符

        1.  .(点):匹配除了换行符之外的任意字符。[0123456789]:[ ]是字符集合,表示匹配方括号所包含的任意一个字符。[a-z]、[A-Z]、[0-9]分别表示匹配任意小写字母、大写字母、数字.也可以用[0-9a-zA-Z]匹配任意字母和数字。[^hello](^脱字符)表示匹配除了hello这几个字母之外的所有字符。除此之外,还有\d匹配数字通[0-9]、\D匹配非数字字符,效果通[^0-9]、\w匹配字母数字和下划线、\W:匹配非字母数字和下划线\s:匹配任意的空白符(空格、换行、回车、换页、制表),同[\f\n\r\t]、\S:匹配任意的非空白符,同[^\f\n\r\t]。

    三、锚字符

        ^:行首匹配

        $:行尾匹配

          print(re.search("li$","hell hell lli li"))

    运行结果:<_sre.SRE_Match object; span=(14, 16), match='li'>

    四、匹配多个字符

                

        1.(xyz):匹配小括号里面的xyz,把(xyz)当成整体去匹配。

        2.x?:匹配0个或者一个x

        3.x*:匹配0个或者任意多个字符

        4.x+:匹配至少一个x

        5.x{n}:匹配确定的n个x(x是个非负整数)

        6.x{n,}:匹配至少n个x(x是个非负整数)

        7.x{n,m}:匹配至少n个,至多m个x

        

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值