第六章:文件系统-mmap:内存映射文件-正则表达式

6.9.3 正则表达式
由于内存映射文件就类似于一个字符串,因此也常与其他处理字符串的模块一起使用。

import mmap
import re

pattern = re.compile(rb'(\.\W+)?([^.]?rem[^.]*?\.)',
                     re.DOTALL | re.IGNORECASE | re.MULTILINE)

with open('lorem.txt','r') as f:
    with mmap.mmap(f.fileno(),0,access=mmap.ACCESS_READ) as m:
        for match in pattern.findall(m):
            print(match[1].replace(b'\n',b' '))

由于这个模式包含两个组,所以findall()的返回值是一个元组序列。print语句会找出匹配的句子,并用空格代替换行符,使各个结果都打印在同一行上。
运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43193719/article/details/88647532