当被替换的字符串长度大于等于503字符时候,就出错
例子:
string contents = "beginaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssssssssssssssssssssssssssssssssssss我end";
int len = contents.length();
regex rg(string("begin(.|\\r|\\n)*end"));
string ret = regex_replace(contents, rg, string(""));
提示内存不足:
There was insufficient memory to determine whether the regular expression could match the specified character sequence.
也可能和电脑有关,反正这问题困惑我很长时间,最终才排查到,分享出来,希望对大家有帮助。