re 模块的函数 compile(pattern,flags=0) 对正则表达式模式 pattern进行编译,flags是可选标志符, 并返回一个 regex 对象
re 模块的函数和 regex 对象的方法 match(pattern,string, flags=0) 尝试用正则表达式模式 pattern 匹配字符串 string,flags 是可选标志符,如果匹配成功,则返回一个匹配对象;否则返回 None
例1:
bt = 'bat|bet|bit'
m = re.match(bt, 'bat')
m.group()
'bat'
例2:
m = re.match(bt, 'He bit me!')
m.group()
#不匹配字符串
search(pattern,string, flags=0) 在字符串 string 中查找正则表达式模式 pattern 的第一次出现,flags 是可选标志符,如果匹配成功,则返回一个匹配对象;否则返回 None
m = re.search(bt, 'He bit me!')
m.group()
'bit'
findall(pattern,string[,flags]) 在字符串 string 中查找正则表达式模式 pattern 的所有(非重复)出现;返回一个匹配对象的列表
re.findall('car', 'carry the barcardi to the car') ['car', 'car', 'car']
finditer(pattern,string[, flags]) 和 findall()相同,但返回的不是列表而是迭代器;对 于每个匹配,该迭代器返回一个匹配对象
split(pattern,string, max=0) 分割。根据正则表达式 pattern 中的分隔符把字符 string 分割为一个列表,返回成功匹配的列表,最多分割 max 次(默认是分割所有匹配的地方)。
re.split(':', 'str1:str2:str3') ['str1', 'str2', 'str3']
sub(pattern, repl, string, max=0) : 替换。把字符串 string 中所有匹配正则表达式 pattern 的地方替换成字符串 repl,如果 max 的值没有给出,则对所有匹配的地方进行替换
subn(),返回一个表示替换次数的数值。
re.sub('[ae]', 'X', 'abcdef') 'XbcdXf' re.subn('[ae]', 'X', 'abcdef') ('XbcdXf', 2)
group(num=0) 返回全部匹配对象(或指定编号是 num 的子组)
groups() 返回一个包含全部匹配的子组的元组(如果没有成功匹配,就返回一个空元 组)