1

First Last <email@domain.com>これらの集約された電子メール内に多数の名前と電子メール アドレスがあり、ドキュメント全体以外のすべてを削除したいと考えています。基本的に私は...

From: Name Wood <email@gmail.com>
Subject: Yelp entries for iPod contest
Date: April 20, 2012 12:51:07 PM EDT
To: email@domain.cc

Have had a great experience with .... My Son ... is currently almost a year into treatment. Dr. ... is great! Very informative and always updates us on progress and we have our regular visits. The ... buck program is a great incentive which they've implemented to help kids take care of their teeth/braces. They also offer payment programs which help for those of us that need a structured payment option. Wouldn't take my kids anywhere else. Thanks Dr. ... and staff
Text for 1, 2, and 3 entries to Yelp
Hope ... wins!!
Begin forwarded message:

From: Name Wood <email@gmail.com>
Subject: reviews 2 and 3
Date: April 20, 2012 12:44:26 PM EDT
To: email@domain.cc

Have had a great experience with ... Orthodontics. My Son ... is currently almost a year into treatment. Dr. ... is great! Very informative and always updates us on progress and we have our regular visits. The ... buck program is a great incentive which they've implemented to help kids take care of their teeth/braces. They also offer payment programs which help for those of us that need a structured payment option. Wouldn't take my kids anywhere else. Thanks Dr. ... and staff
Have had a great experience with...

私はちょうど一致したい...

Name Wood <email@gmail.com>
Name Wood <email@gmail.com>

このテキストから。"From: "したがって、基本的には、単語plusの後の次の 2 つの単語に一致させたいと考えて"<"+email address+">"います"From: "。これは否定的な先読み (私が思うに) であり、2 つの単語 (何らかの方法で を使用) を検索してから、ある文字から別の文字へ{0,2}のメール アドレスを検索することを研究から収集しました。<>

4

3 に答える 3

0

これを行うことができます:

/(?:From: )(.*)/g
于 2012-05-02T21:49:34.197 に答える
0

この正規表現は、探しているものを見つけます。

(?<=From:)\s*[^<]+<[^>]+>

しかし、あなたがそれをどうするつもりなのか、あなたの質問からは少し不明確です。一致したテキストは、必要なテキストを抽出できるように、おそらく 1 つ以上のグループに入れる必要があります。(1 つのグループに名前を付けますか? 別のグループにメールを送信しますか? または両方を一緒に送信しますか?) それをどうしたいのかまだ述べていないので、さらに情報を提供する必要があります。上記は、最も単純なケースのシナリオです。

説明:

(?<=From:)   # positive lookbehind to find "From:"
\s*          # optional whitespace
[^<]+<       # everything up to the first '<' (the name)
[^>]+>       # everything up to the '>' (the email)
于 2012-05-02T21:49:43.857 に答える
0

名前と電子メール以外をすべて取り除きたい場合。
修飾子 's' (ドットには改行が含まれます)、
両方の正規表現のグローバルな検索と置換は$1\n

これは高速ですが、成功すると余分な改行が残ります。

Find .*?From:[^\S\n]*([^<\n]+<[^>\n]*\@[^>\n]*>)|.*$

これは遅くなりますが (先読みを使用します)、余分な改行を残しません。

Find  .*?From:[^\S\n]*([^<\n]+<[^>\n]*\@[^>\n]*>)(?:(?!From:[^\S\n]*[^<\n]+<[^>\n]*\@[^>\n]*>).)*
于 2012-05-02T23:12:38.503 に答える