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

     1 1.指定 eval()调用一个代码对象会提高性能
     2 2.在进行模式匹配之前,正则表达式的模式必须编译为正则表达式对象
     3     匹配时需要进行多次匹配,进行预编译可以提升速度
     4     re.compile(pattern,flags = 0)
     5 3.消除缓存
     6     re.purge()
     7 4.使用 re.S 后 . 可以匹配换行符 
    
     8 5.使用了match() 和 search() 方法之后返回的对象称为匹配对象
     9     匹配对象常用 group() 和 groups() 方法
    10     group() 返回整个匹配对象 或 特定子组
    11     groups() 返回一个包含唯一 或 全部子组的元组
    12 6.match() 方法 对字符串的起始部分进行模式匹配
    13     成功:返回一个匹配对象
    14     失败:返回 None
    15 7.search() 方法 对字符串任意位置进行模式匹配
    16     成功:返回匹配对象
    17     失败:返回 None
    18 8.可以使用 pos , endpos 参数指定目标字符串的搜索范围
    19 9.使用 . 匹配任何单个字符
    20     .end 不能匹配 end 
    21     不能匹配 
     换行符
    22     使用 . 匹配 . 
    23 10.创建字符集 [ ]
    24     [cr][23] 表示 匹配第一个字符 c 或者 r 
    25                      第二个字符 2 或者 3
    26 
    27 
    28 程序:
    29 import re 
    30 # match(pattern,string,flags = 0) 匹配示例
    31 m = re.match('foo','foo')
    32 if m is not None:
    33     # 如果匹配成功则输出匹配内容
    34     print(m.group())
    35     # print(m.groups()) 返回空元组 因为没有子组
    36     # foo
    37     # 匹配对象具有 group() 和 groups() 方法
    38     print(m)
    39     # <re.Match object; span=(0, 3), match='foo'>
    40 
    41 # search(pattern,string,flags = 0) 匹配示例
    42 m = re.search('foo','sea food')
    43 if m is not None:
    44     print(m.group())
    45     # foo
    46     print(m)
    47     # <re.Match object; span=(4, 7), match='foo'>
    48     # 返回第四个元素的位置
    49 
    50 # | 或 示例
    51 bt = 'bat|bet'
    52 m = re.match(bt,'bat')
    53 # match 只匹配开头
    54 m2 = re.search(bt,'abat')
    55 # search 从开始到结尾
    56 print(m.group())
    57 # bat
    58 print(m2.group())
    59 # bat
    60 
    61 # . 匹配任意字符示例
    62 anyend = '.end'
    63 m = re.match(anyend,'aend')
    64 print(m.group())
    65 # aend
    66 m2 = re.search(anyend,'abcdend')
    67 print(m2.group())
    68 # dend
    69 
    70 pi_pattern = '3.14'
    71 m = re.match(pi_pattern,'3.14')
    72 print(m.group())
    73 # 3.14
    74 pi_pattern = '3.14'
    75 # 将 . 转义
    76 m = re.match(pi_pattern,'3.14')
    77 print(m.group())
    78 # 3.14
    79 
    80 #  [ ]  创建字符集 
    81 m = re.match('[cr][23][dp][po]','c3po')
    82 print(m.group())
    83 # c3po
    84 
    85 m = re.match('[cr][23][dp][po]','c2do')
    86 print(m.group())
    87 # c2do

    2020-04-11

  • 相关阅读:
    Python3 list基本操作
    Oracle Sql关于case-when,if-then,decode
    Oracle12c解锁scott测试用户
    Java得到下一天日期
    SQLiteTest源代码
    实况照片的视频合并
    一个支持中文的日志类
    为对话框添加背景图片
    获取当前应用程序的文件名
    Win7系统x64正在准备再循环
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/12682011.html
Copyright © 2011-2022 走看看