• Python3基础笔记---re模块


    参考博客: Py西游攻关之模块

    就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。

    import re
    
    # # .  通配符,一个  .  模糊匹配一个除换行符之外的任意字符
    # ret = re.findall('a..in', 'helloalvin')
    # print(ret)  # ['alvin']
    #
    # # ^ 必须以某个字符开始
    # ret = re.findall('^a...n', 'alvinhelloawwwn')
    # print(ret)  # ['alvin']
    #
    # # $ 必须以某个字符结尾
    # ret = re.findall('a...n$', 'alvinhelloawwwn')
    # print(ret)  # ['awwwn']
    #
    # # * 贪婪匹配 [0, +oo]
    # ret = re.findall('abc*', 'abcccc')  # 贪婪匹配[0,+oo]
    # print(ret)  # ['abcccc']
    #
    # ret = re.findall('a.*n', 'alvinhelloawwwn')
    # print(ret)  #  ['alvinhelloawwwn']  贪婪匹配
    #
    # # + 贪婪匹配 [1, +oo]
    # ret = re.findall('abc+', 'abccc')  # [1,+oo]
    # print(ret)  # ['abccc']
    #
    # ret = re.findall('a.+n', 'alvinhelloawwwn')
    # print(ret)  # ['alvinhelloawwwn'] 贪婪匹配
    #
    # # ? 匹配[0,1]
    # ret = re.findall('abc?', 'abcccffab')  # [0,1]
    # print(ret)  # ['abc', 'ab']
    #
    # {} 自定义重复次数 {1,} 表示一到正无穷
    ret = re.findall('abc{1,4}', 'abcccccsccccc')
    print(ret)  # ['abcccc'] 贪婪匹配
    
    # --------------------------------------------字符集[]
    
    
    # ret = re.findall('a[bc]d', 'acd')
    # print(ret)  # ['acd'] 匹配 b 或 c
    #
    # ret = re.findall('[a-z]', 'acd')
    # print(ret)  # ['a', 'c', 'd']
    #
    # ret = re.findall('[.*+]', 'a.cd+')
    # print(ret)  # ['.', '+']  # 在[]中,* + 失去原有的作用
    #
    # 在字符集里有功能的符号: - ^ 
    #
    # ret = re.findall('[1-9]', '45dha3')
    # print(ret)  # ['4', '5', '3']
    #
    # ^ 放在[]表示取反,不取 a 或 b 或 ,
    # ret = re.findall('[^ab,]', '45bdha3,')
    # print(ret)  # ['4', '5', 'd', 'h', '3']
    #
    # ret = re.findall('[d]', '45bdha3')
    # print(ret)  # ['4', '5', '3']
    
    #  的功能
    # 1、反斜杠后面跟元字符去除其特殊功能
    # 2、反斜杠后面跟普通字符实现其特殊功能
    '''
    d 相当于 [0-9]
    D 相当于 [^0-9]
    s 匹配任何空白字符
    S 匹配任何非空字符
    w 匹配任何字母数字字符  [0-9a-zA-Z]
    W 匹配任何非字母数字字符  [^0-9a-zA-Z]
     匹配一个特殊字符边界,也就是指单词和空格间的位置
    '''
    # ret=re.findall('I','I ')
    # print(ret)#[]
    
    ret = re.findall('dert','13ert')
    print(ret)      # ['3ert']
    
    ret = re.findall('Dert','13^ert')
    print(ret)      # ['^ert']
    
    ret = re.findall('s123', ' 123')
    print(ret)
    
    print(re.findall(r'I', 'hello,I am a hhI$hh'))
    print(re.findall(r'I', 'hello, I am a hhI$hh'))
    
    
    
    print(re.findall(r'\', r'abfvaf'))
  • 相关阅读:
    关于MySQL中ALTER TABLE 的命令用法——SQL
    replace函数——SQL
    SQL构造一个触发器
    【视频转换】监控视频DAV转mp4
    【pyqt5+opencv】如何将大量图片合成一张图
    【OpenCV+pyqt5】视频抽帧裁剪与图片转视频
    【Caffe】生成数据之修改label
    【labelme】标注工具Trick
    【OpenCV+pyqt5】视频抽帧相关操作
    【pyqt5】Pyinstaller封装OpenCV异常
  • 原文地址:https://www.cnblogs.com/panlei3707/p/8575550.html
Copyright © 2020-2023  润新知