【学习笔记】Python正则表达式
一、准备知识 \d:匹配一个数字 \w:匹配一个字母 . :匹配任意字符 \s :匹配一个空格 ?表示0个或1个字符 +表示至少一个字符 *表示任意个字符(包括0个) {n}表示n个字符,{n,m}表示n-m个字符 [0-9a-zA-Z_]可以匹配一个数字、字母或者下划线 (P|p)ython可以匹配'Python'或者'python' ^py$只能匹配'py'了 二、在Python中使用 (1)匹配 import re re.match(r'^\d{3}-\d{3,8}$', '010-12345') <_sre.SRE_Match object at 0x1026e18b8> re.match(r'^\d{3}-\d{3,8}$', '010 12345') match()方法判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None (2)切分字符串 import re re.split(r'[\s\,\;]+', 'a,b;; c d') ['a', 'b', 'c', 'd'] (3)提取子串 import re m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345') m.group(0) '010-12345' m.groups() ('010', '12345') m.group(1) '010' m.group