正則表達式模式
1泉坐、(.? 表示任何單個字符)
2脉幢、[]? 字符集,對單個字符給出取值范圍
????? 例如:[abc]a壹若、b稿蹲、c扭勉,[a-z]表示a到z單個字符
3、[^]非字符集苛聘,對單個字符給出排除范圍
? ? ?? 例如:[^abc]表示非a或b或c的單個字符
4涂炎、*前一個字符0次或無限次擴展?
?????? 例如:abc* 表示ab、abc设哗、abcc唱捣、abccc等
5、+前一個字符1次或無限次擴展?
??????? 例如:abc+ 表示abc网梢、abcc震缭、abccc等
6、澎粟?前一個字符0次或1次擴展
??????? 例如:abc蛀序? 表示ab欢瞪、abc
7活烙、|左右表達式任意一個?
??????? 例如:abc | def? 表示 abc 徐裸、def
8、{m}擴展前一個字符m次?
?????? 例如:ab{2}c 表示abbc
9啸盏、{m,n}擴展前一個字符m至呢次(含n)
?????? 例如:ab{1,2}c? 表示abc重贺、abbc
10、^ 匹配字符串開頭
?????? 例如:^abc? 表示abc且在一個字符串的開頭
11回懦、$ 匹配字符串結尾?
??????? 例如:abc$? 表示abc且在一個字符串的結尾
12气笙、()分組標記,內部只能使用 | 操作符?
??????? 例如:(abc) 表示abc 怯晕,(abc|def) 表示abc潜圃、def
13、\d 數(shù)字
??????? 例如:等價于[0-9]
14舟茶、\w 單詞字符
??????? 例如:等價于[A-Za-z0-9]
re方法
1谭期、re.search()??? 在一個字符串中搜索匹配正則表達式的第一個位置,返回match對象
2吧凉、re.match()???? 從一個字符串的開始位置起匹配正則表達式隧出,返回match對象
3、re.findall()? ? ? 搜索字符串阀捅,以列表類型返回全部能匹配的子串
4胀瞪、re.split()???????? 將一個字符串按照正則表達式匹配結果進行分割,返回列表類型
5饲鄙、re.finditer()???? 搜索字符串凄诞,返回一個匹配結果的迭代類型,每個迭代元素是match對象
6忍级、re.sub() ? ? ? ? ? 在一個字符串中替換所有匹配正則表達式的子串幔摸,返回替換后的字符串
match對象介紹
match對象是一次匹配的結果,包含匹配的很多信息
1颤练、.string? 待匹配的文本
2既忆、.re? ? 匹配時使用的patter對象(正則表達式)
3、.pos? 正則表達式搜索文本的開始位置
4嗦玖、.endpos? 正則表達式搜索文本的結束位置
5患雇、.group(0)? 獲得匹配后的字符串
6、.start()? 匹配字符串在原始字符串的開始位置
7宇挫、.end()? 匹配字符串在原始字符串的結束位置
8苛吱、.span()? 返回(.start(),end())
貪婪匹配和最小匹配
1、re庫默認采用貪婪匹配器瘪,即輸出最匹配最長的子串
2翠储、最小匹配操作符
???? *绘雁?前一個字符0次或無限次擴展,最小匹配
???? +援所?前一個字符1次或無限次擴展庐舟,最小匹配
???? ?住拭?前一個字符0次或1次擴展挪略,最小匹配
???? {m,n}?擴展前一個字符m至n次(含n),最小匹配
???? 只要長度輸出可能不同的滔岳,都可以通過在操作符后增加杠娱?變成最小匹配