• [学习记录]python正则表达式


    1.首先先介绍常见的元字符

    表示法 描述 示例
    literal 匹配字符串的字面值literal python
    re1|re2 匹配re1或re2 python|java
    . 匹配 之外的任意字符 pyth.n
    ^ 匹配字符串起始部分 (^begin)(得到的是begin开头)
    $ 匹配字符串终止部分 (end$)
    * 匹配0次或多次前面的表达式 h*
    + 匹配1次或多次前面的表达式 h+
    ? 匹配0次或1次前面的表达式 h?
    {N} 匹配N次前面的表达式 h{5}
    {N,M} 匹配N~M次前面的表达式 h{4,6}
    [abcde] 匹配字符集中的任意单一字符 [abcde]
    [a-zA-Z] 匹配范围内的任意单一字符 [0-9a-zA-Z]
    [^] 不匹配此字符集内的或范围内的任意字符 [^abcd1-9]
    (*,+,?,{})? 在上述匹配条件的后面加?,表示非贪婪匹配(尽可能少匹配) a*?,a+?,a??,a{2}?
    () 内部可视为独立的正则表达式,另存为子组 ([0-9].)[a-z]
    d 匹配任何十进制数字,[0-9],D与之相反 d
    w 匹配任何字母与数字,[0-9a-zA-Z],W与之相反
    匹配任何空格字符,[ vf],S与之相反
    匹配任何单词边界,B与之相反 the  ,    the  ,但B的位置并不影响结果 
    c 匹配c的字面含义(转义) \,. ,*
     匹配字符串开头,^
    匹配字符串结尾 ,&

    2.python中的re模块以及方法

      re.match(pattern,string,flags=0)   尝试匹配,如果成功返回匹配对象,失败则返回none,其中flag可以选择为  re.I  即不区分大小写

      re.search(pattern,string,flags=0)   使用可选标记搜索字符串中第一次出现的正则表达式模式,成功返回匹配对象,失败则返回none

      re.findall(pattern,string,flags=0),查找所有符合条件的正则表达式模式,并返回一个列表

      re.finditer(pattern,string,flags=0)同上,但返回的是一个迭代器

        

      子串group

      

      groups()则可以直接以元组形式返回

      re.sub(pattern,replace,string,count=0)将string中符合pattern模式的字符串替换为replace,返回新字符串

      re.subn与sub几乎一样,只是返回的时候多返回替换次数这个值

      

  • 相关阅读:
    poj3181(Dollar Dayz)
    poj3666(Making the Grade)
    poj2392(Space Elevator)
    hdu5288(OO’s Sequence)
    hdu5289(Assignment)
    快学scala
    Spark Checkpointing
    Spark Performance Tuning (性能调优)
    Spark Memory Tuning (内存调优)
    Sparkstreaming and Kafka
  • 原文地址:https://www.cnblogs.com/trickofjoker/p/9279207.html
Copyright © 2020-2023  润新知