zoukankan      html  css  js  c++  java
  • python 元字符

    15.2 正则表达式使用的特殊符号和字符:
    
    现在,我们来介绍最常用的元字符(metacharacters)----特殊字符和符号,
    
    正式它们赋予了正则表达式强大的功能和灵活性。
    
    符号
    
    literal               匹配字符串的值                                  foo
    
    import re
    a='foo2'
    if (re.match("foo",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111
    
    
    re1|re2  匹配正则表达式re1或re2     foo|bar
    
    import re
    a='bar2'
    if (re.match("foo|bar",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111	
    
    .   匹配任何字符(换行符外)                     b.b
    
    
    import re
    a="aib"
    if (re.match("a.b",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111
    
    import re
    a="a
    b"
    if (re.match("a.b",a)):
        print '1111'
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    
    Process finished with exit code 0
    
    import re
    a="a
    b"
    print a
    # if (re.match("a.b",a)):
    #     print '1111'
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    a
    b
    
    ^            匹配字符串的开始                     ^Dear
    
    *             匹配前面出现的正则表达式零次或多次                 [A-Za-z0-9]*
    
    
    import re
    a="99"
    if (re.match("[A-Z]*",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111
    
    import re
    a="^^"
    if (re.match("[A-Z]*",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111
    
    +     匹配前面出现的正则表达式一次或多次           
    
    import re
    a="^^"
    if (re.match("[A-Z]+",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    
    Process finished with exit code 0
    
    
    import re
    a="X"
    if (re.match("[A-Z]+",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111
    
    ?   匹配前面出现的正则表达式零次或一次         
    
    import re
    a="go"
    if (re.match("goo?",a)):
        print '1111'
    	
    
    import re
    a="god"
    if (re.match("go?d",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111
    
    import re
    a="good"
    if (re.match("go?d",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    
    Process finished with exit code 0
    
    
    import re
    a="g322d"
    if (re.match("g[0-9]{3}d",a)):
        print '1111'
    	
    {M,N}   匹配重复出现M此到N次的正则表达式               【0-9】{5,9}
    
    import re
    a="g32525d"
    if (re.match("g[0-9]{3,5}d",a)):
        print '1111'
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111
    
    import re
    a="aaaa"
    if (re.match("[aeiou]",a)):
        print '1111'
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    1111
    
    import re
    a="a44"
    p=re.compile("(.*?)[0-9]")
    m=p.match(a)
    print m.group(1)
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
    a
    
    d  匹配任何数字,和[0-9]一样(D是d的反义:任何非数符字)  	
    	
    import re
    a="data1.txt"
    if (re.match("datad.txt",a)):
        print '1111'
    
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a14.py
    1111
    
    import re
    a="data1.txt"
    if (re.match("datad.txt",a)):
        print '1111'
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a14.py
    1111
    
    w  匹配任何数字字母字符,和[A-Za-z0-9]相同(W是w的反义)
    
    import re
    a="anb"
    if (re.match("[A-Za-z]w+b",a)):
        print '1111'
    
    	
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a14.py
    1111
    

  • 相关阅读:
    [BZOJ3195][Jxoi2012]奇怪的道路
    [codeforces696B]Puzzles
    [codeforces464D]World of Darkraft
    [COGS1000]伊吹萃香 最短路
    [BZOJ4653][NOI2016]区间 贪心+线段树
    [BZOJ4540][HNOI2016]序列 莫队
    [BZOJ4870][Shoi2017]组合数问题 dp+矩阵乘
    Loj 2005 相关分析
    Loj 114 k大异或和
    bzoj 2212 Tree Rotations
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349200.html
Copyright © 2011-2022 走看看