(|):匹配多个正则表达式模式。at|home 匹配at和home
(.):匹配任意一个单个字符。f.o匹配f和o中间任意的字符,如foo,f#o
(^ / $ / \b / \B):^从字符串开头开始匹配,$或\Z匹配字符串结尾,\b表示单词的边界,\B表示不是单词的边界,如 ^From 以From开头的字符串, hi$ 以hi结尾的字符串, ^Subject:hi$ 匹配仅由Subject:hi组成的字符串, \bthe 匹配以the开头的字符串, \bthe\b 仅匹配the, \Bthe 匹配包含the但不以the开头的字符串。
([]):字符类,b[aeiou]t 匹配 bat,bet,bit,bot,but
(-):指定范围:[0-9] 匹配0到9
(^):否定:[^aeiou] 匹配非元音字符
(*,+,?,{}):多次出现/重复匹配
特殊字符表示和字符集:\d表示十进制数字,\w表示整个字符数字的字符集(A-Za-z0-9),\s表示空白字符,大写字符代表不匹配,\D表示非十进制数字
常用函数:
re.match(pattern,string,flags=0):从第一个字符开始进行模式匹配。
re.search(pattern,string,flags=0):从左到右查找模式。
re.findall(partten,string):找出每个出现的匹配部分。
re.sub(partten,str,string):在string中找到与partten匹配的,将其改为str,并返回。
re.split(partten,string):在string中找到与模式匹配的,将string按其分割。
特别说明:
(()):将partten分组,使匹配后可以方便取出(group/groups)。