>И непонятно, почему память переполняется в итоге
Скорей всего сборщик мусора не успевает отработать, т.к. при каждой операции изменения и присваивания строки создается новая строка, а старая остается еще какое-то время в памяти
В самом деле, регулярные выражения в своем изначальном виде используются для короткой записи регулярных грамматик, и используются для того, чтобы определить является ли слово (строка, текст) выводимым в данной грамматике, т.е. принадлежит ли языку, который порождается данной грамматикой. Ни формат файлов doc, ни xml, ни html не являются регулярными языками.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.