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

  • 相关阅读:
    Linux命令之cat
    Linux命令之diff
    Linux查看内核信息或系统信息
    Linux命令之touch
    linux脚本:shell, 判断输入参数的个数(命令行)
    c++中try catch的用法
    linux命令:ftp
    linux shell种类
    linux shell脚本:在脚本中实现读取键盘输入,根据输入判断下一步的分支
    c语言,gdb
  • 原文地址:https://www.cnblogs.com/yshan13/p/7836133.html
Copyright © 2011-2022 走看看