Python学习笔记九:正则表达式
一:正则表达式的符号与方法 常用符号: .:匹配任何一个字符,换行符除外(所以,多行字符串中的匹配要特殊处理,见下面实例) *:匹配前一个字符0次或多次 +:匹配前一个字符1次或多次 ?:匹配前一个字符0次或1次 {n,m}:匹配前一个字符n次~m次 ():小括号内容作为结果返回 []:匹配[]内任一元素 .*:贪心匹配,匹配任何一个字符0次或多次 .*?:非贪心匹配 (.*?):把括号内的匹配内容作为结果返回 \w:匹配包括下划线的任何 单词字符(即不是特殊符号的字符,符号字符是!@#?之类) ,相当于[A-Za-z0-9_] \d:匹配任意数字,等价于 [0-9] \W:匹配 非单词字符 。 \D:匹配 非数字 。 ^:模式取非。 常用方法: findall():匹配符合规则的内容,结果以列表形式返回 search():匹配第一个符合规则的内容,并返回一个正则表达式对象 sub():替换符合规则的内容,返回替换后的值 实例: # . 的使用:充当一个占位符,一个.代表一个符号 a="xz123" b=re.findall("x.",a) #第一个参数为查找规则,第二个参数为被查找对象 print b 结果:. 被赋予了具体内容 ['xz'] # * 的使用:代表前一个字符出现0次或多次 a="xyxy123" b=re.findall("x*",a) print b 结果