一、简述
正则表达式的作用是
检查一个字符串是否与某种模式匹配。
compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。
二、常见的函数
- re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
匹配成功re.match方法返回一个匹配的对象。
语法:
re.match(pattern, string, flags=0)
参数说明:
- pattern 匹配的正则表达式
- string 要匹配的字符串。
- flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
- 使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
- group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
- groups( ) 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。
- 区别:
- re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
三、检索与模式替换
- re模块中由 re.sub 用于替换字符串中的匹配项 。
re
.
sub
(
pattern
,
repl
,
string
,
count
=
0
)
参数:
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
四、正则表达式相关概念
- 表达式修饰符
- 正则表达式模式
- 由于正则表达式通常都包含反斜杠,故最好使用原始字符串,模式元素(如 r'\t',等价于 \\t )匹配相应的特殊字符。
- 正则表达式例子