一、re模块:核心函数和方法
1. 仅re模块函数
函数名 |
描述 |
compile(pattern, flags=0) |
使用任何可选的标记来编译正则表达式的模式,返回返回一个正则表达式对象。 |
2. re模块函数和正则表达式对象的方法
函数名 |
描述 |
match(pattern, string, flags=0) |
尝试使用带有可选的标记的正则表达式的模式来匹配字符串。如果匹配成功,就返回匹配对象,如果失败,就返回None。 |
search(pattern, string, flags=0) |
使用可选标记搜索字符串中第一次出现的正则表达式模式。如果匹配成功,则返回匹配对象,如果失败,就返回None. |
findall(pattern, string[, flags]) |
查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配列表 |
finditer(pattern, string[, flags]) |
与findall相同,不是返回列表而是返回一个迭代器。对于每次匹配,迭代器都返回一个匹配对象。 |
split(pattern, string, max=0),根据正则表达式的模式分割符,split函数将字符串分割为列表,然后返回成功匹配的列表,分割最多操作max次(默认分割所有匹配成功的位置) |
|
3. re模块函数和正则表达式对象方法
函数名 |
描述 |
sub(pattern, repl, string, count=0) |
使用repl替换所有正则表达式的模式在字符串中出现的位置,除非定义count,否则替换所有出现的位置 |
subn(pattern, repl, string, count=0) |
返回替换操作的条目 |
purge() |
清除隐式编译的正则表达式模式 |
4.匹配对象常用的方法
函数名 |
描述 |
group(num=0) |
返回整个匹配对象,或者编号为num的特定子组 |
groups(default=None) |
返回一个包含所有匹配子组的元组(如果没有匹配成功,则返回一个空元组) |
groupdict(default=None) |
返回一个包含所有匹配的命名子组的字典,所有的子组名称作为字典的键(如果没匹配成功,返回一个空字典) |
5.re模块常用的属性
属性名 |
描述 |
re.I, re.IGNORECASE |
不区分大小写 |
re.L, re.LOCALE |
根据所使用的本地语言环境通过\w,\W,\b,\B,\s,\S 实现匹配 |
re.M, re.MULTILINE |
^,$分别匹配目标字符串中行的起始和结尾,而不是严格匹配整个字符串本身的起始和结尾。 |
re.S, re.DOTALL |
使’.’匹配全部字符串 |
re.X, re.VERBOSE |
通过反斜线转义,不明白 |
Tips:
1. 是否需要预编译,就是使用compile() 进行预编译
2. purge() 函数能够清除预编译缓存。
3. 标记,可以通过 '|' 进行合并