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

    # 正则表达式是用来干嘛的
    # 1,匹配   字符串
    # findall() 所有结果都会返回到一个列表里边
    # search() 返回匹配到的第一个对象,对象可以调用group()返回结果
    # matcj() 只在字符串开始匹配,返回一个对象
    import  re
    # s = 'hello world'
    # print(s.find('ll'))  #第一个字符的索引
    # set = s.replace('ll','xx')
    # print(set)
    # print(s.split(' '))
    # string 提供的方法是完全匹配
    
    #引入正则:进行模糊匹配
    # print(re.findall('ww{2}l','hello world'))  #['worl']
    # ret = re.findall('alex','djsaifjasoalexijfasoifjaalex')
    # print(ret)    #['alex', 'alex']
    # 正则表达式中的元字符
    
    # . 通配符
    # ret = re.findall('w..l','hello world')
    # print(ret)  #['worl']  . 只能代表任意一个字符,除换行符
    
    
    # ^
    # ret = re.findall('^h...o','hafsosfahello')
    # print(ret)  #['hafso']  只匹配开始符合的
    
    # $
    # ret = re.findall('a..x$','afjxjfiewalexfsalex')
    # print(ret)  #['alex']  只匹配最后四个字符符不符合
    
    # * :重复匹配  匹配0个或多个
    # ret = re.findall('a.*li','sdwadsaajijisfsflixli')
    # print(ret)  #['adsaajijisfsflixli']  贪婪匹配
    
    # + :重复匹配  匹配1个或多个
    # ? :匹配0或1次
    # ret = re.findall('a?b','aaaabhsdsdabdbsd')
    # print(ret)  #['ab', 'ab', 'b']
    
    # {}:  {1,} 表示{1,+oo}
    # ret = re.findall('a{5}b','asdasdaaaaabdasda')
    # print(ret)   #['aaaaab']
    # ret = re.findall('a{1,3}b','asdasdaaaaabdasda')
    # print(ret)  #['aaab']  先取最多的三次a
    
    # [] :字符集    取消元字符的特殊功能(-  ^)
    # ret = re.findall('a[c,d,e]x','aexadxacx')
    # print(ret)    #['aex', 'adx', 'acx']  匹配次c,d,e任意匹配一个
    # ret = re.findall('[a-z]','aex')
    # print(ret)  #['a', 'e', 'x']
    # ret = re.findall('[w,*]','a*ex')
    # print(ret)  #['*']
    
    # ^ 放在[]里 取反
    # ret = re.findall('[^4,5]','ida5dAa4sd')
    # print(ret)  #['i', 'd', 'a', 'd', 'A', 'a', 's', 'd']
    #  : 后边跟元字符去除特殊功能
    # 后边跟普通字符实现特殊功能
    
    # d  匹配任何十进制数 相当于[0,9]
    # D  匹配任何非数字字符  相当于[^0-9]
    # print(re.findall('d{8}','sda1487464654687452'))
    # ['14874646', '54687452']
    
    # s 匹配任何空白字符 相当于 [	
    
    fv]
    # S 匹配任何非空白字符 相当于[^ 	
    
    fv]
    # print(re.findall('sasd','fak asd'))  #[' asd']
    # print(re.findall('Sasd','fakasd'))  #['kasd']
    
    # w 任何字母数字字符  相当于 [a-z0-9A-Z]
    # W 任何非数字字母字符  相当于[^ a-z0-9A-Z]
    # print(re.findall('w','fak d')) #['f', 'a', 'k', 'd']
    
    #  匹配一个特殊字符边界(除字母数字字符外全算特殊字符)
    # print(re.findall(r'I','hello,I am a LI$T')) #['I', 'I']
    
    #####################
    
    # 匹配出第一个满足条件的结果
    # print(re.search('sb','sadsbassb'))
    # <_sre.SRE_Match object; span=(3, 5), match='sb'>
    # ret = re.search('sb','sadsbassb')
    # print(ret.group())  #sb
    # ret = re.search('a.','a.gj').group()  # a.
    # print(ret)  # a.
    
    # print(re.findall(r'bsad','bsad'))  #['bsad']
    # print(re.findall('\bbsad','bsad'))  #['bsad']
    
    #() |
    # print(re.search('(as)+','sadasas').group()) # asas
    # print(re.search('(as)|3','gas3').group()) # as
    # 匹配as或3
    
    # ret = re.search('(?P<id>d{3})/(?P<name>w{3})','sd444/ooo')
    # print(ret.group('id'))   #444
    # print(ret.group('name'))  #ooo
    
    # ret = re.match('asd','fsfsasd')
    # print(ret)
    
    # ret = re.split('[j,s]','sdjksal')  #*****
    # print(ret)  #['', 'd', 'k', 'al'] 先分j 再分s 中间加上''
    # ret = re.sub('a..x','s..b','hsaalexdd')
    # print(ret)  # hsas..bdd
    
    # obj = re.compile('.com')
    # ret = obj.findall('dsaasd.comcas')
    # print(ret)  #['.com']
    r'^([0-9a-zA-Z_]){0,19}@[0-9a-zA-Z-]{1,19}(.[0-9a-zA-Z-]+)+(.[a-zA-Z]+)+$'
    # 匹配邮箱
  • 相关阅读:
    2017.4.11下午学习内容
    2017.4.11上午学习内容
    2017.4.10下午学习内容
    2017.4.7下午学习内容
    2017.4.7号学习内容
    2017.4.6下午学习报告
    2017.4.6上午学习报告
    2017.3.31下午学习报告
    2017.3.31上午学习报告
    tornado的使用-日志篇
  • 原文地址:https://www.cnblogs.com/linpei/p/10980382.html
Copyright © 2011-2022 走看看