zoukankan      html  css  js  c++  java
  • Python值正则表达式(RE)

    要想在Python中使用正则表达式,首先要引入模块: import re 


    .    匹配任意一个

    +     匹配至少一个

    *    匹配0个至多个

    ?    1个或0个(可有可无)

    -    表范围

        转义

    ^     在首

    $    在尾


    例:将‘branches’编译成对象s,不区分大小写。要特别注意 re.I 这个属性

    1 >>> import re
    2 >>> s = re.compile(r'branches',re.I)
    3 >>> s.findall('Branches')
    4 ['Branches']
    5 >>> s.findall('BraNches')
    6 ['BraNches']
    7 >>> 

     

    1 >>> s
    2 '123+456-789*000'
    3 >>> re.split(r'[+-*]',s)
    4 ['123', '456', '789', '000']
    5 >>> 

    要特别注意 S、 I、 M、 V 这几个

     1   >>> s="""
     2   ... hello csvt
     3   ... csvt hello
     4   ... hello csvt hello
     5   ... csvt hehe
     6   ... """
     7  >>> r = r'^csvt'
     8  >>> re.findall(r,s)
     9  []
    10  >>> s
    11  '
    hello csvt
    csvt hello
    hello csvt hello
    csvt hehe
    '
    12  >>> re.findall(r,s,re.M)
    13  ['csvt', 'csvt']
    14  >>> 
     1 >>> tel = r"""
     2 ... d{3,4}
     3 ... -?
     4 ... d{8}
     5 ... """
     6 >>> re.findall(tel, '010-12345678')
     7 []
     8 >>> 
     9 >>> re.findall(tel, '010-12345678', re.X)
    10 ['010-12345678']
    11 >>> 

     匹配email:

     1 >>> email = r"w{3}@w+(.com|.cn)"
     2 >>> re.match(email, 'xxx@haha.com')
     3 <_sre.SRE_Match object at 0xb76c4420>
     4 >>> re.match(email, 'xxx@haha.cn')
     5 <_sre.SRE_Match object at 0xb768e4a0>
     6 >>> re.match(email, 'xxx@haha.org')
     7 >>> 
     8 >>> re.findall(email, 'zzz@csvt.com')
     9 ['.com']
    10 >>> 
  • 相关阅读:
    字符统计(改1)
    结对作业—电梯调度
    第三次作业(字符,单词统计)
    第三周作业二(读程序)
    Visual Studio 2015的安装及单元测试练习
    四则运算改进版
    简单的四则运算(续)
    第二次作业—————暴风影音点评(修改版)
    软件工程学习总结篇
    电梯调度问题之成长总结篇(二)
  • 原文地址:https://www.cnblogs.com/fallenmoon/p/6984810.html
Copyright © 2011-2022 走看看