现在的位置: 首页 > 综合 > 正文

[Python]正则课程 –再次回顾

2013年10月07日 ⁄ 综合 ⁄ 共 717字 ⁄ 字号 评论关闭

正则表达式的最大匹配个数,65535? re.DEBUG 可以查询到最大匹配个数,其实是返回针对每个regex的debug信息 

使用compile编译的表达式时会把最新的几个缓存起来,所以就可以同时使用几个正则表达式而不需要担心正则的编译问题

在re模块中的几个对象
re.RegexObject  是编译后的正则表达式对象,方法上和直接使用re模块很多都是类似的
常用的方法和属性
search  查找 如果没有匹配就会返回N0ne 
match   查找 如果没有匹配就会返回None
split   分割
findall  直接匹配返回list
finditer 返回的是个iterator
sub    查找并替换  

flags 类型 
groups   需要抓取的有几个串
pattern  返回的是表达式本身

re.MatchObject 当match或者search方法匹配到以后返回的对象
常用的方法和属性
group  只返回能匹配到的值
groups  返回匿名分组匹配返回值元组
groupdict 返回命名分组匹配返回值的字典
start  匹配成功开始位置
end   匹配成功结束位置
re 属性:返回使用的正则对象

分组: 有匿名分组 和 命名分组

疑问:


?经常对比的就是search 和 match的: match从字符串的开始匹配 search任意位置开始匹配

? 贪婪模式和非贪婪模式字面意思很好理解,但是对匹配结果准确把握不怎么容易,
准备单门找点资料总结下

? 字符边界匹配, ^ $ \A \Z \b有什么不同 

?不同匹配参数的不同匹配模式

tips:

In [182]: p = re.compile(r'(\w+) (\w+)')
In [183]: s = 'ni hao,good boy'
In [184]: print p.sub(r'\2 \1',s)
hao ni,boy good

抱歉!评论已关闭.