Прошу помощи в обработке большого текста регулярными выражениями. Заранее прошу прощения за рекламу программы (тем более виндовой), но как я успел выяснить, в ней синтаксис регэкспов несколько отличается от того, к которому я привык в sed. Работаю в Notepad++ с большим текстовым файлом (>56 000 строк). У файла сложный синтаксис и ему требуется шаблонная обработка. В конце работы файл будет передан на обработку другой программе с довольно уродливым движком разбора текста (собственно, вот из-за чего весь этот сыр-бор). Особенность движка в том, что он не может читать за раз более 47-ми символов текста в одной подстроке (которая заключена в кавычки), но «понимает» свой собственный стиль «конца строки» («@N» - аналог «/n»). До и после кавычек могут быть другие слова, которые трогать не надо (обработке подлежит только тот текст, который заключён в двойные кавычки), и плюс к этому - в одной строке МОГУТ БЫТЬ две и более фразы, заключённые в кавычки. Итого потребуется обработка по такому принципу:
а) выбираем обрабатываемые подстроки (то, что заключается в обычные двойные кавычки).
б) каждая такая подстрока обрабатывается:
1) От начала строки до 47-го символа:
2) если нет «@N», то вставить его на границу слова так, чтобы от начала до «@N» было не более 46-ти символов,
3) иначе (если «@N» встратится ранее, среди первых 46-47 символов) считать следующие 47 символов от последней «@N» до появления двойной кавычки (конец подстроки).
4) если строка не подлежит обработке (менее 47-ми символов или «@N» стоят в достаточном количестве и на нормальных местах) - ничего не делать и братьс за другую подстроку.
Я понимаю, что это довольно просто описывается словами, но тяжело даётся в описание регулярками. Руками обработать такой большой текст без ошибок врядли возможно.