三、常用方法
1,match( rule , targetString [,flag] ): 默认从字符串的开头开始匹配,如果开头位置没有匹配成功,则返回空;第一个参数是匹配规则,第二个参数是目标字符串,第三个flag是一个可选的规则选项(修饰符,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等)。使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
2、search( rule , targetString [,flag] ) :在全部字符串范围内匹配第一个满足条件的对象,第一个参数是匹配规则,第二个参数是目标字符串,第三个flag是一个可选的规则选项
3、findall(rule , target [,flag] ) :在目标字符串匹配所有符合条件的对象,第一个参数是匹配规则,第二个参数是目标字符串,第三个flag是一个可选的规则选项
4、sub( rule , replace , target [,count] ):在目标字符串中查找匹配的字符串,再把它们替换成指定的字符串;可以指定一个最多替换次数,默认替换所有的,返回被替换的字符串。第一个参数是正则规则,第二个参数是指定的用来替换的字符串,第三个参数是目标字符串,第四个参数是最多替换次数(可选)。
5、finditer(rule , target [,flag] ):匹配成功后返回一个迭代器,只能迭代一次,第一个参数是匹配规则,第二个参数是目标字符串,第三个flag是一个可选的规则选项
6、split( rule , target [,maxsplit] ) :切片函数。使用指定的正则规则在目标字符串中查找匹配的字符串,用它们作为分界,把字符串切片。第一个参数是正则规则,第二个参数是目标字符串,第三个参数是最多切片次数(可选)。返回切片后的子字符串列表
修饰符:
re.I | 使匹配对大小写不敏感 |
re.L | 做本地化识别(locale-aware)匹配 |
re.M | 多行匹配,影响 ^ 和 $ |
re.S | 使 . 匹配包括换行在内的所有字符 |
re.U | 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B. |
re.X | 为了增加可读性,忽略空格和 # 后面的注释 |
>>>import re
>>>string = 'this is a string'
# match 有匹配
>>>pat = re.match(r'\w{4}', string, re.I)
>>>print(pat)
<_sre.SRE_Match object; span=(0, 1), match='this'>
>>>pat.group()
'this'
# 无匹配
>>>pat = re.match(r'\s', string, re.I)
>>>print(pat)
None
# search
>>>pat = re.search(r'(\w{6})', string, re.I)
>>>print(pat)
<_sre.SRE_Match object; span=(10, 16), match='string'>
>>>pat.group()
'string'
>>>pat.groups()
('string',)
未完待续。。。