Ошибка в Mathematica: регулярное выражение применяется к очень длинной строке
В следующем коде, если к строке s добавляется 10 или 20 тысяч символов, происходит сбой сегмента ядра Mathematica.
s = "This is the first line.
MAGIC_STRING
Everything after this line should get removed.
12345678901234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890123456789012345678901234567890
...";
s = StringReplace[s, RegularExpression@"(^|\\n)[^\\n]*MAGIC_STRING(.|\\n)*"->""]
Я думаю, что это в первую очередь ошибка Mathematica, и я отправил отчет об ошибке, и буду следить здесь, если получу ответ. Но мне также интересно, если я делаю это глупо / неэффективно. И даже если нет, идеи для работы с ошибкой Mathematica будут оценены.