zoukankan      html  css  js  c++  java
  • 第二十二天学习:正则

    re模块是python处理正则表达式的一个模块,通过re模块的方法,把正则表达式pattern编译成正则对象,以便使用正则对象的方法,可以提高代码的执行效率

    compile( rule [,flag] )
    将正则规则编译成一个Pattern对象,以供接下来使用。
    第一个参数是规则式,第二个参数是规则选项
    • re.I(全拼:IGNORECASE): 忽略大小写(括号内是完整写法,下同)
    • re.M(全拼:MULTILINE): 多行模式,改变'^'和'$'的行为(参见上图)
    • re.S(全拼:DOTALL): 点任意匹配模式,改变'.'的行为
    • re.L(全拼:LOCALE): 使预定字符类 w W  B s S 取决于当前区域设定
    • re.U(全拼:UNICODE): 使预定字符类 w W  B s S d D 取决于unicode定义的字符属性
    • re.X(全拼:VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。
    多个选项之间用 ’|’(位或)连接起来
     
    import re
     
    reg = re.compile(r'abc.*')
    print(reg)
    print(type(reg))
     
    r表示raw的简写。意思是原生字符,也就是说这个字符串中间的特殊字符不用转义
    比如你要表示‘ ’,可以这样:r' ',
    但是如果不用r,则需要这样:'\n'
    为什么要用r’ ..‘字符串(raw字符串)? 由于正则式的规则也是由一个字符串定义的,而在正则式中大量使用转义字符’’,如果不用raw字符串,则在需要写一个’’的地方,你必须得写成’\’,那么在要从目标字符串中匹配一个’’的时候,你就得写上4个’’成为’\\’!这当然很麻烦,也不直观,所以一般都使用r’’来定义规则字符串。当然,某些情况下,可能不用raw字符串比较好。
     

    可参考:http://cuiqingcai.com/977.html

  • 相关阅读:
    POJ 1469 COURSES 二分图最大匹配
    POJ 1325 Machine Schedule 二分图最大匹配
    USACO Humble Numbers DP?
    SGU 194 Reactor Cooling 带容量上下限制的网络流
    POJ 3084 Panic Room 求最小割
    ZOJ 2587 Unique Attack 判断最小割是否唯一
    Poj 1815 Friendship 枚举+求最小割
    POJ 3308 Paratroopers 最小点权覆盖 求最小割
    1227. Rally Championship
    Etaoin Shrdlu
  • 原文地址:https://www.cnblogs.com/yshan13/p/7836133.html
Copyright © 2011-2022 走看看