zoukankan      html  css  js  c++  java
  • 正则表达式

    # #__author__:Administrator}
    # #data: 2017/12/16
    #
    # import re
    #
    # # m = re.findall('ww{2}l','hellow world')
    # # print(m)
    #
    # # rel = re.findall('xuxu','2222222222xuxu11111222')
    # # print(rel)
    #
    # #元字符
    #
    # #1.通配符' . '
    # # m = re.findall('w..l','hellow world')
    # # print(m)#' . '只能代指任意一个字符,不能代替换行符
    #
    # # #2.' ^ '
    # # ret = re.findall('^h...o','sadfafahellow')#只在开始匹配
    # # print(ret)
    # #
    # # #3.‘ $’
    # # ret = re.findall('h...o$','sadfafahellow1111111')#只在结尾匹配
    # # print(ret)
    # #
    # # #4.‘ * ’:重复匹配【0,正无穷】
    # # ret = re.findall('fa*','sadfafaaaaaaaaaaaabbbbbbbbb')
    # # print(ret)
    # # ret = re.findall('fa*','sadf')#['f'],因为可以陪陪0次
    # # print(ret)
    #
    # #45‘ + ’重复匹配,至少匹配一次
    # ret = re.findall('fa+','sadf')#['f'],因为可以陪陪0次
    # print(ret)
    # ret = re.findall('fa+','sadfa')#['f'],因为可以陪陪0次
    # print(ret)
    #
    # #‘ ?’只能匹配0到1个数
    # ret = re.findall('fa?','sadfbbaaaaaaafa')#['f'],因为可以陪陪0次
    # print(ret)
    #
    ret = re.findall('abc*?','abccc')
    print(ret)#['ab']

    意前面的*,+,?等都是贪婪匹配,也就是尽可能的匹配,后面加问号时期变成惰性匹配
    # #{}
    # ret = re.findall('a{1,5}b','wwwaaaaab')
    # print(ret)
    #
    # #结论
    # # *等价于{0,正无穷} +等价于{1,正无穷} ?等价于{0,1}
    #
    # #[]字符集
    # # ret = re.findall('a[b,d]c','abdc')
    # ret = re.findall('[a-z]','afb')#['a', 'f', 'b']
    # print(ret)
    #
    # #[]字符集,取消元字符的特殊功能(\,^,-)例外
    # ret = re.findall('[w,*]','awbc*')
    # print(ret)
    #
    # ret = re.findall('[1-9,a-z,A-Z]','12afbAB')#['1', '2', 'a', 'f', 'b', 'A', 'B']
    # print(ret)

    #^放在【】号里表示去反
    import re
    # ret = re.findall('[^a]', '12afbAB')

    # print(ret)#['1', '2', 'f', 'b', 'A', 'B']
    # ret = re.findall('[^a,b]', '12afbAB')#非a和b
    # print(ret)#['1', '2', 'f', 'A', 'B']


    # ‘ ’
    #反斜杠后面跟元字符去除特殊功能
    #反斜杠后面跟普通字符实现特殊功能

    #d 匹配任意数字,等价于 [0-9]
    #D 匹配任意非数字
    #s 匹配任意空白字符,等价于 [ f].
    #S 匹配任意非空字符
    #w 匹配字母数字及下划线
    #W 匹配非字母数字及下划线
    # 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。

    print(re.findall('d{11}','adb11111111112222222'))
    print(re.findall('D{3}','adb11111111112222222'))
    print(re.findall('sbc','a bc'))
    print(re.findall('S','a bc'))
    print(re.findall('w{4}bc','a112bc'))


    #######################################
    #匹配出一的个满足条件的结果
    ret = re.search('s.b','asdasdsebaaaasab')
    print(ret)#<_sre.SRE_Match object; span=(6, 8), match='sb'>
    print(ret.group())

    ret = re.search('a.','a.jb').group()
    print(ret)#a.
    ret = re.search('a+','a+jb').group()
    print(ret)#a+

    ret = re.findall('D:\c','abfde')


    ###################################
    #()

    print(re.search('(as)+','asasdqwdas').group())#asas
    print(re.search('(as)|3','asasdqwdas').group())
  • 相关阅读:
    Smart Client Architecture and Design Guide
    Duwamish密码分析篇, Part 3
    庆贺发文100篇
    .Net Distributed Application Design Guide
    New Introduction to ASP.NET 2.0 Web Parts Framework
    SPS toplevel Site Collection Administrators and Owners
    来自Ingo Rammer先生的Email关于《Advanced .Net Remoting》
    The newsletter published by Ingo Rammer
    深度探索.Net Remoting基础架构
    信道、接收器、接收链和信道接受提供程序
  • 原文地址:https://www.cnblogs.com/xuxu-learn-python/p/8056494.html
Copyright © 2011-2022 走看看