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

来源:互联网 发布:中天证券交易软件 编辑:程序博客网 时间:2024/05/16 17:54
正则表达式的最大匹配个数,65535? re.DEBUG 可以查询到最大匹配个数,其实是返回针对每个regex的debug信息 


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


在re模块中的几个对象re.RegexObject  是编译后的正则表达式对象,方法上和直接使用re模块很多都是类似的常用的方法和属性search  查找 如果没有匹配就会返回N0ne match   查找 如果没有匹配就会返回Nonesplit   分割findall  直接匹配返回listfinditer 返回的是个iteratorsub    查找并替换  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






原创粉丝点击