正则表达式的最大匹配个数,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