Я получаю необработанный текст (включая заголовок и сообщение) с POP-сервера. Мне нужно захватить все после заголовка, который заканчивается пустой строкой между ним и сообщением пользователя.
В то же время я хочу игнорировать что-либо из исходных сообщений, если это ответ. Начало ответа на электронные письма, которые я анализирую, начинаются с
------Original Message------
Пример электронного письма может выглядеть так
Возвратный путь: ...
...
Дополнительные метаданные электронной почты: ...Привет из страны регулярных выражений, я рад вас слышать.
------Исходное сообщение------
Метаданные: ...
...Эй, чувак, регулярное выражение, можешь мне помочь? Спасибо!
С уважением, Я.
Мне нужно извлечь «Привет из страны регулярных выражений, я рад вас слышать». и любой другой текст/строки перед исходным сообщением.
Я использую это регулярное выражение прямо сейчас (С# в многострочном режиме), и оно, кажется, работает, за исключением того, что оно захватывает ------ Исходное сообщение ------, если тело пусто. Вместо этого я бы предпочел просто пустую строку.
^\s*$\n(.*)(\n------Original Message------)?
Изменить
Я никого не минусовал, и если вы проголосовали против, обычно бывает полезно включить комментарии.