регулярное выражение для удаления исходного сообщения из ответного письма, используя в Java? - PullRequest
0 голосов
/ 12 мая 2010

На моем форуме пользователи могут отвечать по электронной почте. Я обращаюсь с письмами от их ответа. Когда они отвечают, исходное сообщение добавляется. Я хочу получить только ответное сообщение, а не исходное сообщение.

Я должен написать регулярное выражение для gmail и hotmail.

Я написано регулярное выражение для Gmail следующим образом:

\n.*wrote:(?s).*--End of Post--

Удаляет исходное сообщение, кроме даты. Я хочу удалить дату также.

перед удалением исходного сообщения:

 hi 33

 On Tue, May 11, 2010 at 4:18 PM, Mmmmm, Rrrrr
 <Rrrr.Mmmmm@uuuuu.com>wrote:

  The following update has been posted to this discussion:
  ----------------------------------------------------------------------
  test as user 222
  ----------------------------------------------------------------------
  [$MESSAGE_SIGNATURE_HEADER$]



  --End of Post--

Когда я использую приведенное выше регулярное выражение, оно фильтруется следующим образом:

 hi 33

 On Tue, May 11, 2010 at 4:18 PM, Mmmmm, Rrrrr

Здесь я хочу только фактическое сообщение «привет 33», а не эту дату. Как я могу отфильтровать дату, используя приведенное выше регулярное выражение?

Также Мне нужно регулярное выражение для Hotmail также.

Я благодарен за любой ответ. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 12 мая 2010

Попробуйте это (это будет соответствовать всему, что должно быть удалено):

On\s+\w+,\s+\w+\s+\d+,\s+\d+\s+at\s+\d+:\d+\s+\w+,.*?wrote:.*?--End of Post--

Или более простая версия:

On.*?wrote:.*?--End of Post--
0 голосов
/ 13 мая 2010

Я понял. Чтобы пропустить новые строки я изменил таким образом ....

На \ з + \ ш + \ S + \ W + \ S + \ д + \ S + \ D + \ S + в \ S + \ D +: \ D + \ S + \ W +, \ S + \ W +, \ S + \ W + (ы? ). ? Писал (а):. \ n (? S). * - Конец сообщения -

...