ppython正则表达式

ppython正则表达式

作者:LAMP小白  点击:2054  发布日期:2013-10-20 22:48:20  返回列表

规则


正式表达式是一种小型的,高度专业化的语言,通过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
0