• python:正则表达式 re


    #re正则的用法:match匹配从开头  search 取一个就回来了,findout取所以匹配的,slit分割  sub替换

    #-*- coding:utf8 -*-
    # Auth:fulimei
    #re正则的用法:match匹配从开头  search 取一个就回来了,findout取所以匹配的,slit分割  sub替换
    import re
    res=re.match('^chen','chenronghua')#^匹配字符开头
    resa=res.group()#匹配的字符打印出来
    print(res)
    print (resa)
    #写死了就不用正则了
    #d匹配一个数字,d+匹配一个或多个数字
    re.search#search这个用的最多
    a=re.search('R[a-z]+a','112Ronghua44Ronghua')#[a-z]取a到z的一个字符,多给匹配的最后取第一个
    print(a)#span=(3, 10), match='Ronghua'>
    b=re.search('R[a-zA-Z]+a','112RonAghua44Ronghua')
    print(b) #span=(3, 11), match='RonAghua'>
    #匹配前一个字符0次或1次 ?的用法
    c=re.search('aal?','aadbd')
    print(c) #l可以没有,匹配了零次  match='aa'
    d=re.search('aal?','aaldbd')
    print(d)#匹配了1零次  match='aal'
    f=re.search('[0-9]{3}','a1bc234') #匹配3个数字match='234'>
    print(f)
    #匹配一到三次 ,取一个就返回
    g=re.search('[0-9]{1,3}','a1bc234') #取一个就返回match='1'>
    print(g)
    #匹配所有 ,注意findall 没有group方法
    h=re.findall('[0-9]{1,3}','a1b2c345de')
    print(h)#['1', '2', '345']
    
    l=re.search('abc|ABC','ABCDabc') #match='ABC'
    print(l)
    J=re.findall('abc|ABC','ABCDabc') #match='ABC'
    print(J)#['ABC', 'abc']
    k=re.search('abc{2}','flmabccc')
    print(k)#match='abcc'>
    #匹配两个管道符两次 如||=
    m=re.search('(||=){2}','abc||=||=')
    print(m)#match='||=||='
    
    #A从头匹配 匹配最后一个
    n=re.search('A[0-9]+[a-z]','123b') #结尾必须是小写字母
    print(n)#match='123b'
    #D匹配非数字
    o=re.search('D+','123$%a
    ')
    print(o)#match='$%a
    '>
    #匹配数字+字母
    p=re.search('w+','12A3b$%')
    print(p)# match='12A3b'>
    #匹配特殊字符
    q=re.search('W+','12A3b$%')
    print(q)#match='$%'>
    # s匹配空格换行 tab键(	)
    r=re.search('s+','123$%a 
      ')
    print(r)
    
    #'(?P<name>...)' 分组匹配 省 市 县
    s=re.search('(?P<province>[0-9]{3})(?P<city>[0-9]{3})(?P<birthday>[0-9]{4})','220723198901021625').groupdict()
    print(s)
    print(s['city'])
    
    #按什么分隔split
    t=re.split('[0-9]+','abc12df44gG456DF')
    print(t)#['abc', 'df', 'gG', 'DF']
    #sub替换 把所有的数字替换成|
    y=re.sub('[0-9]+','|','a1w234fg2fF2GG')
    print(y)#  a|w|fg|fF|GG
    
    z=re.sub('[0-9]+','|','a1w234fg2fF2GG',count=2)#替换前2个
    print(z) # a|w|fg2fF2GG
    re正则的用法


    # s匹配空格换行 tab键( )

  • 相关阅读:
    变Enter键为Tab键 实现焦点转移
    .net事务使用实例
    C#多线程编程(1):线程的启动
    Sql中try{} catch{}实例
    winform刷新父窗体
    Sql批量删除/插入
    IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析
    C#多线程编程(2):线程的同步
    Sql Server 网络备份
    SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
  • 原文地址:https://www.cnblogs.com/xuehuahongmei/p/6009630.html
Copyright © 2020-2023  润新知