- findall的使用
#findall有两种用法: findall(string[, pos[, endpos]]) re.findall(pattern, string[, flags]) #示例 import re a = 'abc123abv23456' b = re.findall(r'23(a)?',a) print b b = re.findall(r'23(?:a)?',a) print b #输出结果: 'a', ''] ['23a', '23'] #findall如果使用了分组,则输出的内容将是分组中的内容而非find到的结果,为了得到find到的结果,要加上问号来启用“不捕捉模式”
- match的使用
re.match(pattern, string[, flags]) #判断 pattern 是否在字符串开头位置匹配。对于 RegexObject,有: match(string[, pos[, endpos]]) #match() 函数只在字符串的开始位置尝试匹配正则表达式,也就是只报告从位置 0 开始的匹配情况,而 search() 函数是扫描整个字符串来查找匹配。如果想要搜索整个字符串来寻找匹配,应当用 search()。