• python学习之正则表达式



    元字符 .^$*+?{}[]|()
    . 通配符,任意一个字符
    ^ 字符串开头匹配
    $ 字符串结尾匹配

    * 紧挨着字符重复(0-无穷次)
    + 加号前面字符至少有一个(1-无穷次)
    ? (0-1)
    {} {0,} = *
    {1,} = +
    {0,1} = ?
    {6} 贪婪匹配
    注意,*,+,?,等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配

    反斜杠后边跟元字符去除特殊功能, 如.
    反斜杠后边跟普通字符实现特殊功能,如d

     匹配一个特殊字符边界,如空格,&,#

    | 或

    () 分组

    [] 字符集 中括号里没有特殊符号,特殊: ‘-’ 范围 ,‘^’ 非 ,‘’转义符

    ?P<name> (?P<name>)分组命名
    例:
    >>> re.search("(?P<name>d+)","alan39wang88liu77")
    <_sre.SRE_Match object; span=(4, 6), match='39'>
    >>> re.search("(?P<name>[a-z]+)","alan39wang88liu77").group("name")
    'alan'
    >>> re.search("(?P<name>[a-z]+)","alan39wang88liu77").group()
    'alan'
    >>> re.search("(?P<name>[a-z]+(?P<age>d+))","alan39wang88liu77").group()
    'alan39'
    >>> re.search("(?P<name>[a-z]+)(?P<age>d+)","alan39wang88liu77").group("name")
    'alan'
    >>> re.search("(?P<name>[a-z]+)(?P<age>d+)","alan39wang88liu77").group("age")
    '39'

    re.findall("^H[w]*[ w\\d]*","Hello World") 结果 ['Hello Worl\d'] #返回所有满足匹配条件的结果,放在列表里
    re.search("d+","aabdde34kdf3").group() #函数会在字符串内查找模式匹配,只找到第一个匹配
    #通过调用group()方法得到匹配的字符串,
    re.match("d+","56daffdfd").group() #同search,不过尽在字符串开始处进行匹配
    re.split('[ab]','abcd') 结果['','','cd'] #先按'a'分割到''和'bcd',在对''和'bcd'分别按'b'分割,
    re.sub("d+","a","fdfefj20303r") 结果'fdfefjar' 替换
    re.subn("d+","a","fdfefj20303rdfd4") 结果('fdfefjardfda', 2) 替换并返回替换次数
    com=re.compile("d+") com.findall('dfd4df5') 结果['4', '5'] #编译(效率提升)
    i=re.finditer("d","df3lj3ljl34ljj45l4jlj2kdjfw") 取值:next(i).group() #迭代对象,大数据匹配不用全部写入内存,用一个取一个
    re.findall("www.(?:baidu|163).com","dd2fjlsjwww.baidu.comfjldjflsj")
    结果1:['www.baidu.com'] 加上"?:"去掉分组优先级
    结果2:['baidu'] 分组优先级高

  • 相关阅读:
    moment获取天的23时59分59秒可以用moment().endOf(String),以及获取天的0时0分0秒可以用moment().startOf('day')
    vue 去除输入框首位的空格
    管道
    事件广播
    iview在子组件中调用父组件的方法
    ZOJ 3430 Detect the Virus(AC自动机)
    HDU 3065 病毒侵袭持续中(AC自动机)
    HDU 2896 病毒侵袭(AC自动机)
    HDU 2222 Keywords Search(AC自动机)
    shell常用命令
  • 原文地址:https://www.cnblogs.com/jinpingzhao/p/12712231.html
Copyright © 2020-2023  润新知