zoukankan      html  css  js  c++  java
  • re模块2

    # 元字符+,*遇到?后就会变为贪婪匹配 
    print(re.findall('abc+?','abcccccc'))  #['abc']
    print(re.findall('abc*?','abcccccc'))  #['ab']
    print(re.findall('abc{1,4}','abcccabc')) #['abccc', 'abc']
    print(re.findall('abc{1,4}?','abcccabc')) #['abcc', 'abc']
    #---------------------------------------------------------------------
    #元字符之字符集[]  在字符集里面有功能的字符  - ^ 
    print(re.findall("[abc]","sdfgbahjkkk"))
    #若是字符集的前后没有字母,就会分别匹配a,b,c ['b', 'a'],否在就字符集里选择一个字母和外面的连接使用
    print(re.findall("a[a-z]","fwefaefewaasfwe")) #['ae', 'aa']
    print(re.findall("a[.*+]","a.b*c+")) #在字符集里的符号就是普通符号  ['a.']
    
    print(re.findall("[^ab]","fgddab"))  #['f', 'g', 'd', 'd']
    print(re.findall("[1-9]","vsd1fdv2sdvsd23")) #['1', '2', '2', '3']
    print(re.findall("d[1-9]","vsd1fdv2sdvsd23")) #['d1', 'd2']
    print(re.findall("[d]","af1fsdf2ffsf1")) #['1', '2', '1']
    print(re.findall("[1-9]","af1fsdf2ffsf1")) #['1', '2', '1']

    print(re.findall("[^W1-9a-z]","f我1e@f们21在ew2一%&e起1f"))  #['我', '们', '在', '一', '起']
    #^W 就是去掉符号 再去掉数字和字母
    #转义字符 
    #反斜杠后面跟元字符会失去特殊功能 如*
    print(re.findall("*","vdv*vdd"))
    print(re.findall(".","vdf.v*vdd"))
    print(re.findall("?","vd?f.v*vdd"))
    print(re.findall("^","vdf.v*vd^d"))
    print(re.findall("[ab]","vdf.v*v[ab]dd"))
    print(re.findall("{2,3}","vdf.v*v{2,3}dd"))
    print(re.findall("$","vdf.v*v$dd"))
    print(re.findall("+","vdf.v+*vdd"))
    反斜杠后边跟元字符去除特殊功能,比如.
    反斜杠后边跟普通字符实现特殊功能,比如d
    
    d  匹配任何十进制数;它相当于类 [0-9]。
    D 匹配任何非数字字符;它相当于类 [^0-9]。
    s  匹配任何空白字符;它相当于类 [ 	
    
    fv]。
    S 匹配任何非空白字符;它相当于类 [^ 	
    
    fv]。
    w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
    W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]
      匹配一个特殊字符边界,比如空格 ,&,#等
    #反斜杠后面跟普通字母可以实现特殊功能 如d  w  s 
    print(re.findall("d","12f345fs56dsfs"))  #只匹配数字
    print(re.findall("[1-9]","12f345fs56dsfs"))
    print(re.findall("[^D]","12f345fs56dsfs"))
    print(re.findall("[^a-z]","12f345fs56dsfs"))
    #---------------------------------------------------------------------
    print(re.findall("D","12f345fs56dsfs"))  #只匹配字母
    print(re.findall("[a-z]","12f345fs56dsfs"))
    print(re.findall("[^1-9]","12f345fs56dsfs"))
    print(re.findall("[^d]","12f345fs56dsfs"))
    print(re.findall("w","12f345fs56dsfs")) #匹配所有的字母和数字
    print(re.findall("[^W]","12f345fs.,56dsfs"))
    print(re.findall("[1-9a-z]","12f345fs56dsfs"))
    #---------------------------------------------------------------------
    print(re.findall("W","12f345f;'s56dsfs")) #匹配符号
    print(re.findall("[^w]","12f345fs,/56dsfs"))
    print(re.findall("[^1-9a-z]","12f345fs,/56dsfs"))
    #s 匹配空格
    print(re.findall("[s]","a bcd")) #[' ']
    print(re.findall("[^s]","abcd")) #['a', 'b', 'c', 'd']
    print(re.findall("S","abc d"))  #['a', 'b', 'c', 'd']
    
    
    print(re.findall("[^s]","ff fse "))  #除了空格 ['f', 'f', 'f', 's', 'e']
    print(re.findall("v\\h","sdvhyu"))  #匹配斜杠 ['v\h']
    print(re.findall(r"v\h","sdvhyu"))   #匹配斜杠 ['v\h']
    # 表示匹配一个特殊字符边界
    print(re.findall(r"ber","sfsberhj"))  #匹配  ber
    print(re.findall(r"ber","sfs:berhj"))  #匹配  ber
     
     
  • 相关阅读:
    1082 射击比赛 (20 分)
    1091 N-自守数 (15 分)
    1064 朋友数 (20 分)
    1031 查验身份证 (15 分)
    1028 人口普查 (20 分)
    1059 C语言竞赛 (20 分)
    1083 是否存在相等的差 (20 分)
    1077 互评成绩计算 (20 分)
    792. 高精度减法
    791. 高精度加法
  • 原文地址:https://www.cnblogs.com/TKOPython/p/11985921.html
Copyright © 2011-2022 走看看