大文件regex和内存映射文件边界



我想通过大文件正则表达式匹配。它是文本文件。为了在GUI上显示文件,我使用内存映射的文件和视图(Windows/MFC)。问题是,当我想搜索(regex)整个文本时,我无法正确匹配映射视图的边界(我还没有尝试过,但我认为它无法匹配)。比方说,我有一个文本"aab|bcc",其中"|"是映射视图的边界。我想匹配"bb"。我正在使用CAtlRegex。从理论上讲,如果我编写支持这种边界问题的正则表达式引擎(但我不想这么做…),这应该是可能的

有什么好的解决方案吗?

只要知道最大匹配字符串的长度,它就应该以这种方式工作。我猜这个最大的大小比dwAllocationGranularity小。

当您搜索到位置x时,只需从x-dwAllocationGranularity开始定义下一个搜索段。

因此,开销是搜索dwAllocationGranularity字节两次。

最新更新