Привет, эксперты и сокурсники!

У меня есть десятки текстовых файлов, которые содержат ежемесячные архивы рассылки. Я пытаюсь удалить / удалить цитируемые ответы, чтобы каждое сообщение появлялось только один раз во всех файлах. Большинство пользователей списка не используют встроенные кавычки, так что это полезно! У меня есть ID сообщения, In-Reply-To и вся информация заголовка, но я знаю, что это сложная задача.

Сложность в том, что многие почтовые клиенты используют разные системы для работы с ответами. Так, иногда цитируемые электронные письма идут с «>» в начале строки (которую я уже научился удалять), некоторые вставляют разрывы абзацев (на первый взгляд случайно?), Некоторые используют «--- Original Message ---» или « PersonZ писал / пишет:«и, конечно, нет стандартного" конца ", чтобы отметить конец ответа.

Я искал решение для регулярных выражений и возможности тестирования в течение нескольких дней, и не нашел ничего, что работает без сортировки строк (т. Е. Все решения требуют последовательных дубликатов). Вот один пример действительно близкого решения, которое включает в себя создание новой строки и их сортировку, но их сортировка наносит ущерб цели проекта (семантический анализ).

Найти повторяющиеся фразы - любой инструмент или регулярное выражение

Вот еще одно решение, которое также близко, но требует поиска с начала строки. В моей ситуации это не работает, потому что различные почтовые клиенты вставляют разрывы абзацев в середине предложений.

https://stackoverflow.com/questions/32660532/remove-delete-all-duplicate-lines

Я нахожусь в среде рабочего стола Win10 x64. Я немного новичок в регулярных выражениях. Я использовал простой FNR (поиск и замена из codeplex, GrepWin и TextCrawler Free), и я открыт для других программных решений (или методов). При необходимости я могу выяснить, как запускать команды php с помощью xammp. Другими словами, весь процесс был опытом обучения, поэтому я рад продолжить.

РЕДАКТИРОВАТЬ: Если вы хотите взглянуть на пример макета - с ложным регулярным выражением, которое я знаю, не работает и не ожидал работать - посмотрите здесь: https://regex101.com/r/FmAMH5/1

Извините за длину, но я хотел предоставить необходимую информацию прямо сейчас.

Спасибо джереми

0