• 正则语法笔记-regular expression note


    参考文档:python正则表达式

    正则表达式定义:正则是一门高度专业编程语言,内嵌在其他语言(python re模块)中使用。正则表达式包含元字符(metacharacter)列表,列表如下: . ^ $ * + ? { [ ] | ( ),这些元字符只有在合适的位置才可以发挥作用

    1. []用来指定一个我们想要字符串的集合,字符串可以单独列出,也可以通过"-"连接表示范围,例如[abc]匹配abc中如何一个元素,可以用[a-c]表示。

    2 . [^]可以用补集来匹配不存在此空间范围内的字符,其做法是把"^"作为类别的首个字符;其他地方的"^"只会简单匹配“^”字符本身。例如

    In [35]: m = re.search("^ab+", "asdfabbbb")
    
    In [36]: print m
    None
    
    In [37]: m = re.search("^ab+", "absdfabbbb")
    
    In [38]: print m
    <_sre.SRE_Match object at 0x7f8bc2466c60>
    
    In [39]: print m.group()
    ab

    效果如同使用re.match()函数,

    In [43]: m2 = re.match("ab+", "absdfabbbb")
    
    In [44]: print m2
    <_sre.SRE_Match object at 0x7f8bc2466e68>
    
    In [45]: print m2.group()
    ab
    In [51]: m2 = re.match("ab+", "absdfabbbb
    abcdefghijklmn", re.MULTILINE)
    
    In [52]: print m2.group()
    ab

    总结match和search函数,两者都是找到就返回匹配结果,不会继续查找,如果需要查找所有行,那么需要调用re.findall()

    In [58]: m2 = re.findall("ab+","absdfabbbb
    abcdefghijklmn" )
    
    In [59]: print re.fi
    re.findall   re.finditer  
    
    In [59]: print m2
    ['ab', 'abbbb', 'ab']

    3. 元字符(),元字符backslash。""后面加反斜杠表示特殊意义。它可以用来取消元字符,这样元字符就是普通字符。

    4. 元字符($)匹配字符串的结尾或者字符串结尾的换行之前。(在MULTILINE模式下,"$"也匹配换行之前)正则表达式"foo"既匹配"foo"又匹配"foobar",而"foo$"仅仅匹配"foo"

    5.元字符(*),匹配0个或多个

    6.元字符(?),匹配一个或者0个

    7.元字符(+), 匹配一个或者多个
    8,元字符(|), 表示"或",如A|B,其中A,B为正则表达式,表示匹配A或者B

    9.元字符({})

     {m},用来表示前面正则表达式的m次copy,如"a{5}",表示匹配5个”a”,即"aaaaa"

  • 相关阅读:
    java连接各种数据库
    java遗传算法
    java中‘==’和’equal‘的区别
    java.net.BindException: Address already in use: JVM_Bind错误,端口设置问题
    Flink学习笔记6 Flink原理-Task(任务)、Operator Chain(算子链)和Slot(资源)
    Flink学习笔记5 Flink原理-资源
    Flink学习笔记4 Flink原理-基础架构
    Flink学习笔记2 CentOS7.5搭建Flink1.6.1分布式集群
    Flink学习笔记1 Flink入门简介
    Dubbo学习笔记12:使用Dubbo中需要注意的一些事情
  • 原文地址:https://www.cnblogs.com/wenwangt/p/4918415.html
Copyright © 2020-2023  润新知