正则对象
来看一下正则表达式对象的相应方法。
Pattern.search(string[, pos[, endpos]])
扫描整个 string 寻找第一个匹配的位置,并返回一个相应的匹配对象,如果没有匹配,就返回 None;可选参数 pos 给出了字符串中开始搜索的位置索引,默认为 0;可选参数 endpos 限定了字符串搜索的结束。看一下示例:
import re pattern = re.compile(r'bc', re.I) print(pattern.search('aBcdef')) print(pattern.search('aBcdef', 1, 3))
Pattern.match(string[, pos[, endpos]])
如果 string 的开始位置能够找到这个正则样式的任意个匹配,就返回一个相应的匹配对象,如果不匹配,就返回 None。看一下示例:
import re pattern = re.compile(r'bc', re.I) print(pattern.match('aBcdef')) print(pattern.match('aBcdef', 1, 3))
Pattern.fullmatch(string[, pos[, endpos]])
如果整个 string 匹配这个正则表达式,就返回一个相应的匹配对象,否则就返回 None。看一下示例:
import re pattern = re.compile(r'bc', re.I) print(pattern.match('aBcdef')) print(pattern.match('aBcdef', 1, 3))
Pattern.fullmatch(string[, pos[, endpos]])
如果整个 string 匹配这个正则表达式,就返回一个相应的匹配对象,否则就返回 None。看一下示例:
import re pattern = re.compile(r'bc', re.I) print(pattern.fullmatch('Bc')) print(pattern.fullmatch('aBcdef', 1, 3))
Pattern.split(string, maxsplit=0)
等价于 re.split() 函数,使用了编译后的样式。看一下示例:
import re pattern = re.compile(r'bc', re.I) print(pattern.split('abc, aBcd, abcde.'))
Pattern.findall(string[, pos[, endpos]])
使用了编译后样式,可以接收可选参数 pos 和 endpos,限制搜索范围。看一下示例:
import re pattern = re.compile(r'bc', re.I) print(pattern.findall('abcefabCdeABC')) print(pattern.findall('abcefabCdeABC', 0, 6))
Pattern.finditer(string[, pos[, endpos]])
使用了编译后样式,可以接收可选参数 pos 和 endpos ,限制搜索范围。看一下示例:
import re pattern = re.compile(r'bc', re.I) it = pattern.finditer('12bc34BC56', 0, 6) for match in it: print(match)
Pattern.sub(repl, string, count=0)
使用了编译后的样式。看一下示例:
import re pattern = re.compile(r'#.*$') str = 'ityard # 是我的名字' print(pattern.sub('', str))
Pattern.subn(repl, string, count=0)
使用了编译后的样式。看一下示例:
import re pattern = re.compile(r'#.*$') str = 'ityard # 是我的名字' print(pattern.subn('', str))