首页 > 代码库 > python学习笔记八——正则表达式

python学习笔记八——正则表达式

1.元字符

  []-常用来指定一个字符集:[abc];[a-z]

   -元字符在字符集中不起作用:[akm$]

   -补集匹配不在区间范围内的字符:[^5]  

  ^-匹配行首

  $-匹配行尾

  \-后可加不同字符以表示不同意义,也可用于取消所有元字符

   \d 匹配任何十进制数,相当于[0-9]

   \D 匹配任何非数字字符,相当于[^0-9]

   \s 匹配任何空白字符,相当于[\t\n\r\f\v]

   \S 匹配任何非空白字符

   \w 匹配任何字母数字字符

   \W 匹配任何非字母数字字符

  *-匹配前一个字符零次或多次

  +-至少匹配前一个字符一次

  ?-匹配前一个字符零次或一次(加在重复的后面可以实现最小匹配)

  {m,n}

2.执行匹配

  match():决定re是否在字符串刚开始的位置匹配,返回一个match对象或None

  search():扫描字符串,找到这个re匹配的位置,返回一个match对象或None

  findall():找到re匹配的所有子串,并把他们作为一个列表fanhui

  finditer():找到re匹配的所有子串,并把他们作为一个迭代器返回

  Match对象实例方法

    group()-返回被re匹配的字符串

    strat()-返回匹配开始的位置

    end()-返回匹配结束的位置

    span()-返回一个元组包含匹配(开始,结束)的位置

  模块级函数-re模块也提供了顶级函数调用如match(),search(),sub(),subn(),split(),findall()等

3.编译标志

  S-使.匹配包括换行在内的所有字符

  I-使匹配对大小写不敏感

  L-做本地化识别

  M-多行匹配

  X-能够使用REs的verbose状态,使之被组织的更清晰易懂

4.分组-()

  可以让他只返回分组的数据