re.compile()——实现正则表达式的高效率

re模块中包含一个重要函数是compile(pattern [, flags]) ,该函数根据包含的正则表达式的字符串创建模式对象

可以实现更有效率的匹配

在直接使用字符串表示的正则表达式进行search,match和findall操作时,python会将字符串转换为正则表达式对象。而使用compile完成一次转换之后,在每次使用模式的时候就不用重复转换。当然,使用re.compile()函数进行转换后,re.search(pattern, string)的调用方式就转换为 pattern.search(string)的调用方式。(re.match()也是)

其中,后一种调用方式中,pattern是用compile创建的模式对象。

prog = re.compile(pattern)
result = prog.match(string)

等价于

result = re.match(pattern, string)

如果需要多次使用这个正则表达式的话,使用 re.compile() 和保存这个正则对象以便复用,可以让程序更加高效。

发布了62 篇原创文章 · 获赞 42 · 访问量 1876

猜你喜欢

转载自blog.csdn.net/weixin_45850939/article/details/104775988