学习笔记
一、对照查表
re中的函数
在使用正则表达式时一定要’import re’
①compile(pattern,[flags]):创建模式对象
②search(pattern,string,[flags]):在字符串中寻找模式
③match(pattern,string,[flags]):从字符串的开始处匹配模式
④findall(pattern,string,[flags]):列出字符串中模式的所有匹配项
⑤split(pattern,string,[maxsplit=0]):根据模式匹配项分割字符串
⑥sub(pat,repl,string,[count=0]):将字符串中所有pat的匹配项用repl替换
⑦escape(string):将字符串中所有特殊正则表达式字符转义
而其中的flags值可以是re.l(忽略大小写)、re.L、re.M(多行匹配模式)、re.S(使元字符.也匹配换行符)、re.U(匹配Unicode字符)、re.X(忽略模式中的空格,并可以使用#注释)的不同组合(使用|进行组合),其实质是下面的《常用的处理选项表》中各项的缩写。
常用的处理选项表
常用元字符表
常用限定字符表
常用的反义代码表
常用分组语法表
懒惰限定符表
二、re中的函数实例
首先我们先导入re并定义一个字符串
search(pattern,string,[flags])
扫描整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None:
match(pattern,string,[flags])
要求必须从字符串的开头进行匹配,如果字符串的开头不匹配,整个匹配就失败了,注意与search的区别:
findall(pattern,string,[flags])
列出字符串中模式的所有匹配项,其中第一种对大小写敏感(flags位置默认为0),第二种我们赋予flags以re.I(即忽略大小写):
split(pattern,string,[maxsplit=0])
作用是切割字符串,第三个参数位置是最多切割次数,注意第二个例子和第三个例子的区别:
sub(pat,repl,string,[count=0])
项目的替代:将字符串中所有pat的匹配项用repl替换,count是最多替换次数,而且在此之上可以加入flags:re.M以忽视换行,re.I以忽视大小写,并且在原文段有个“\n\t”,也被翻译为了换行缩进:
escape(string)
对转义的概念暂时不理解可跳过,之后还会做详细解释
将字符串中所有特殊正则表达式字符转义:
compile(pattern,[flags])
暂时不理解如何使用可跳过,之后还会做详细解释
它返回的是一个匹配对象,即初始化一个对象,单独使用就没有任何意义: