zoukankan      html  css  js  c++  java
  • 正则

    # 正则是匹配字符串的
    import re
    # s='holle, world'
    # ret = s.replace('ll','xx')# hoxxe, world 替换
    # print(ret)
    # print(s.find('ll')) #查找 显示查找到2个
    # print(s.split(' '))#['holle,', 'world' 分割
    # print(s.split('w'))#['holle, ', 'orld'] 分割
    #string提供的方法是完全匹配
    #引入正则:模糊匹配
    #pattern==规则 string==字符串
    # ret = re.findall('ww{2}l','holle, world')#['worl']
    # print(ret)
    #. 是通配符
    # ret = re.findall('w..l','holle, world')# .只能代指1个字符 .就是不能匹配换行符
    # print(ret)


    #^符
    # ret = re.findall('^h...o','hellodfafda') #['hello'] ^值匹配开始的位置
    # print(ret)

    #$符
    # ret = re.findall('a..x$','hellodfafdx') #['afdx'] $只在最后匹配
    # print(ret)

    #*重复匹配 (0.+oo)
    # ret = re.findall('a*..x','heallaodfaaaaafdx') #['aaaaafdx'] 满足条件是a都匹配
    # print(ret)

    #+重复匹配 (1.+oo)
    # ret = re.findall('a+b','heallaodfaaaaafdx') # [] #最少有1个 否则匹配不上 +只对前面的字符起作用
    # print(ret)

    #?[0,1] 就是有或没有
    # ret = re.findall('a?b','heallabodfaaaaabfdx') #['ab', 'ab'] 只能匹配一个a
    # print(ret)

    #{} 任意的匹配
    # ret = re.findall('a{1,4}b','aaaaab') #['aaaab'] #必须满足{}里的参数 也可以是个范围{0-9a-zA-Z} {1,3} 默认最大的参数匹配
    # print(ret)

    #*等于(0,+oo) +等于(1,+oo) ?等于(0,1) {1,} 不加就等于+oo 推荐用元字符



    #[]字符集: 取消元字符的特殊功能 [ ^ -]除外
    # ret = re.findall('a[bc]','ac') #('a[bc]','ab') ['ab'] ('a[bc]','ac') ['ac']
    # print(ret)

    # - 是 0-9 a-z A-Z 范围


    # ^ 取反
    # ret = re.findall('[^bc]','abcc') #['a'] 除bc都能取出
    # print(ret)

    # | 或的意思


    #
    #反斜杠后面跟元字符去除特殊功能
    #反斜杠后面跟普通字符实现特殊功能
    # d 匹配任何十进制数;它相当于类 [0-9]。
    # D 匹配任何非数字字符;它相当于类 [^0-9]。
    # s 匹配任何空白字符;它相当于类 [ fv]。
    # S 匹配任何非空白字符;它相当于类 [^ fv]。
    # w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
    # W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]
    #  匹配一个特殊字符边界,比如空格 ,&,#等

    # ret = re.findall('d{11}','abcc6549649646498464198') #['65496496464']
    # print(ret)
    #
    # ret = re.findall('w','fak asd') #['f', 'a', 'k', 'a', 's', 'd']
    # print(ret)





    # print(re.search('sb','adfasbdfafassb')) <_sre.SRE_Match object; span=(4, 6), match='sb'> 对象
    # print(re.search('sb', 'adfasbdfafassb').group()) #sb 匹配出满足条件的第一个结果 search 后面跟.guroup
    # set = re.search('a.','adfa').group() # 匹配ad
    # print(set)
    # set = re.search('a.','a.dfa').group() #a. . 点就是普通字符
    # print(set)

    # set = re.findall('\\','asbde') #['\'] PY解释器\ 正则\
    # print(set) # 解释器要用 要用\----->去表示 正则需要 要用\----->去表示
    # set = re.findall(r'\','asbde') #['\'] PY解释器\
    # print(set)

    # ret = re.findall(r'I','hoole,I am a LIST') #r=原生字符 ['I']
    # print(ret)


    #()
    # print(re.search('(as)+','sdjkfasas').group()) #asas +贪婪匹配
    # print(re.search('(as)|3','as3').group()) # as |是或的意思
    # ret = re.match('asd','asdadafaasd') asd
    # print(ret.group())
    #正则的放大
    # re.findall() 所有的结果都返回到列表里
    # re.search() 返回的是一个对象(object) 对象可以调用group方法 返回结果
    # re.match() 只在字符串开始匹配
    # ret = re.split('[j,s]','sdjksal') #***** ['', 'd', 'k', 'al'] 先分J 在分S
    # print(ret)
    # ret = re.sub('s..x','alex','dafsdvxadfadfa') #dafalexadfadfa
    # print(ret)
    # obj = re.compile('.com')
    # ret = obj.findall('dfadfa.comfafadf')
    # print(ret) #['.com']
  • 相关阅读:
    dropdownList级联刷新gridView
    Jquery解析json数据
    ASP.NET UserControl 通信
    sharepointWebPart开发、部署、发布过程全记录
    buffer和cache怎么让你们解释的那么难理解?
    Global.asax用法分析
    1、什么是ASP.NET MVC
    在Global.asax文件里实现通用防SQL注入漏洞程序
    ABP vNext V5 + VS2022+ .Net 6.0 学习笔记(1)
    使用IIS时的小问题
  • 原文地址:https://www.cnblogs.com/xuexihainan/p/12099284.html
Copyright © 2011-2022 走看看