第七章 正则表达式 笔记

来源:互联网 发布:淘宝网平板电脑 编辑:程序博客网 时间:2024/05/22 17:41
  1. import re导入正则表达式模块
  2. 用re.compile()函数创建一个Regex对象
  3. 用Regex对象的Search()方法传入想查找的字符串,它将返回一个Match对象
  4. 调用Match对象的group()方法返回实际匹配文本的字符串

匹配更多模式
  • 用括号分组,用group(int)返回第int分组,groups()返回多个值的元组
  • 用管道‘|’匹配多个分组,patternA或patternB
  • 用findall()方法找到所有匹配的地方
  • 用问号实现可选匹配:(xxx)?表示xxx可有可无
  • 用星号*匹配任意次
  • 用+匹配至少一次
  • 花括号匹配特定次数,如(ha){3}将匹配hahaha  {3,5}匹配3到5次

贪心匹配和非贪心匹配
     python中正则默认是贪心的,如果在花括号后面加?就能变成非贪心匹配

findall()方法返回一个列表,包含所有匹配的字符串

字符分类
  1. \d匹配数字,\D是反义,匹配除数字以外任意字符
  2. \w匹配字母、数字、下划线,\D是反义
  3. \s匹配空白字符,\S匹配非空白字符
  4. [abcd]自定分类,[a-zA-Z0-9]也行
  5. [^abcd]匹配非abcd的字符

开头和结尾: ^xxxx匹配字符串开头,xxxx$匹配字符串结尾

.是通配字符, .*匹配所有字符串(除换行),如果想包括换行就要传入re.DOTALL作为re.compile()的第二个参数,如果想非贪心匹配就.*?

忽略大小写的匹配:传入re.IGONORECASE或re.l,作为第二个参数

sub()方法用于替换字符串,第一个参数是用来替换的字符串,第二个参数是被替换的字符串

r'''()'''可以多行正则表达式,传入re.VERBOSE作为第二个参数来忽略空白符和注释






原创粉丝点击