规则
正式表达式是一种小型的,高度专业化的语言,通过re模块实现
正则的模式被编译成一系列字节码,然后有c编写的匹配引擎执行
导入模块
import re
定义正则规则
r'rule'
字符串前加r反斜杠就不会被任何特殊方式处理
正则查找
re.findall(rule, str)
元字符
. ^ $ * + ? {} [] | ()
[] 制定一个字符集,元字符在字符集中不起作用
^ 起始 在[]中为取反
$ 结尾
转义符
{} 制定匹配的次数
* 将前一个字符重复0次至多次
+ 表示匹配一次货多次
? 匹配一次或0次
{m,n} 最少重复M次 最多重复N次
{0,} 等于*
{1,} 等于+
{0,1} 等于?
将正则表达式编译为一个对象
re.compile(rule)
match() 只寻找和匹配开头
search() 寻找和匹配所有
findall()匹配所有子串并返回列表
finditer 用迭代返回匹配结果
用next()寻找下一个
返回被正则匹配的字符串 obj.group()
srart()开始位置
end()结束位置
span()元组返回开始结束
sub() 正则替换
subn()多了一个数据 一共替换了多少次
splite() 正则切割
dir(obj) 列出一个对象的方法和属性
编译标志
S 使.匹配包括换行在内的所有字符
I 不区分大小写
L 做本地化识别
M 多行匹配 影响^和$
X 使用多行的正则规则
不区分大小写
compile(r'xxx', re.I)
#!/usr/bin/python #coding:utf8 import re r=r'aaa' str=""" dasdasdaAadsdsds dsadasaaadsds """ print re.findall(r,str,re.I)
上一篇:python模块 下一篇:快递查询API