• Python正则表达式


    import re
    
    # str1 = 'imook python'
    # pa = re.compile(r'imook')
    # ma = pa.match(str1)
    #输出匹配到的字符串
    #print(ma.group())
    #输出匹配到的字符串的位置
    #print(ma.span())
    
    # ma = re.match(r'imook','imook python')
    # print(ma.group())
    # imook
    
    #. 匹配任意字符(除了
    )
    #[...] 匹配字符集
    #d/D 匹配数字/非数字
    #s/S 匹配空白/非空白
    #w/W 匹配单词字符【a-zA-Z0-9】/非单词字符
    #* 匹配前一个字符0次或无限次
    #+ 匹配前一个字符1次或无限次
    #? 匹配前一个字符0次或者1次
    #{m}/{m,n} 匹配前一个字符m次或者n次
    #*?/+?/?? 匹配模式变为非贪婪 尽可能少匹配字符
    #^ 匹配字符串开头
    #$ 匹配字符串结尾
    #A/ 指定的字符串必须出现在开头/结尾
    #| 匹配左右任意一个表达式
    #(ab) 括号中表达式作为一个分组
    #<number> 引用编号为num的分组匹配到的字符串
    #(?P<name>) 分组去一个别名
    #(?P=name) 引用别名为name的分组匹配字符串
    
    # ma = re.match(r'[A-z][a-z]*','Ab1dd')
    # print(ma.group())
    # Ab
    
    #匹配划线字母开头的字符串
    # ma = re.match(r'_[a-zA-Z]+[_W]*','_dshdg')
    # print(ma.group())
    # _dshdg
    
    #匹配0-99的数字
    # ma = re.match(r'[1-9]?[0-9]','99')
    # print(ma.group())
    # 99
    
    #匹配邮箱
    # ma = re.match(r'[a-zA-Z0-9]{6}@163.com','abc123@163.com')
    # print(ma.group())
    # abc123@163.com
    
    
    # searh(pattern,string,flags=0) 在一个字符串中查找匹配
    # findall(pattern,string,flags=0) 找到匹配,返回所有匹配部分的列表
    
    #查找字符串中出现的数字
    # str1 = "imooc videomnum = 1000"
    # info = re.search(r'd+',str1)
    # print(info.group())
    # 1000
    
    # str2 = 'c++ = 100, java = 99, python = 80'
    # info = re.findall(r'd+',str2)
    # print(info)
    # ['100', '99', '80']
    
    # sub(pattern,repl,string,count=0,flags=0)
    #将字符串中匹配正则表达式的部分替换为其他值
    
    
    # str3 = "imooc videomnum = 1000"
    # info = re.sub(r'd+','1001',str3)
    # print(info)
    # imooc videomnum = 1001
    
    # def addl(match):
    #     val = match.group()
    #     num = int(val)+1
    #     return str(num)
    # str3 = "imooc videomnum = 1000"
    # info = re.sub(r'd+',addl,str3)
    # print(info)
    # imooc videomnum = 1001
    
    #split(pattern,string,maxplit=0,flags=0)
    #根据匹配分割字符串,返回分割字符串组成的列表
    
    # str4 = 'imooc:C C++ Java Python'
    # info = re.split(r':| ',str4)
    # print(info)
    # ['imooc', 'C', 'C++', 'Java', 'Python']
    
    # str4 = 'imooc:C C++ Java Python,C#'
    # info = re.split(r':| |,',str4)
    # print(info)
    # ['imooc', 'C', 'C++', 'Java', 'Python', 'C#']
  • 相关阅读:
    Leetcode 15
    setjmp和longjmp重复使用的问题
    linux的下两种定时器实现
    linux中的信号处理
    【推荐软件】ack
    《代码大全》阅读心得二
    更换svn diff为vimdiff
    unpack的一点使用问题
    【lua】table是否为空的判断
    vi复制部分字符
  • 原文地址:https://www.cnblogs.com/yanweichen/p/14163328.html
Copyright © 2020-2023  润新知