1.不需要compile
如果阅读PYthon正则表达式模块的源代码,就可看出re.compile()是完全没必要的,

使用re.compile()的时候,程序内部调用的是_compile()方法;当使用re.finall()的时候,在模块内部自动先调用了_compile()方法,再调用findall()方法。re.findall()自带re.compile()的功能,所以没有必要使用re.compile()。
以上说法,属于作者个人见解,无需过度解读,不一定对
2.先抓大再抓小
一些无效内容和有效内容可能具有相同的规则,如:
有效用户:
姓名:rhz
姓名:sd
无效用户:
姓名:cc
姓名:ss
如果使用姓名:(.*?)\n来进行匹配,就会把有效信息和无效信息混在一起,难以区分

要解决这个问题,就需要使用先抓大后抓小的技巧,先把有效用户这个整体匹配出来,再从有效用户里面匹配出人名

3.括号内与括号外

如果括号里面有其他普通字符,那么这些普通字符就会出现在获取的结果里面。把普通的字符放在括号里面就表示结果中需要包含他们。
文章评论