我有一个很大的文本文件要通过boost解析:正则表达式。为了简化过程,首先我决定将大文件拆分为块,以便将来解析每个块。
我使用下一个正则表达式字符串:
FIRST1.*?FIRST2.*?FIRST3((.*?\r*\n*)*)LAST1.*?LAST2.*?LAST3
它允许我在“FIRST1 FIRST2 FIRST3”和“LAST1 LAST2 LAST3”之间接收我想要的所有内容。
在它们之间存在许多具有许多文本的行(超过20 000字节)。它不起作用。如果我将文本分成2部分(part1~10 000字节和part2~10 000字节),并尝试使用以下正则表达式:
我认为可能会提升:正则表达式限制,并在此处尝试:online regex,它仍然相同。
看起来part1part2对于regex块来说太大了,是不是真的?是否有正则表达式的大小限制,或者我只是搞砸了什么?
UPD:
我还发现了最大尺寸。它创建子字符串,如果它是字符[106-12131],但如果我将任何一个字符添加到子字符串的任何位置,它就找不到它。所以,它是12025。