を取得している私は、次の正規表現があります。私の正規表現はまだ非捕捉グループ
(?:^(?:X-Rcpt-To|X-MDRcpt-To|To): (?:[\<\'\"])?(.*?)(?:[\>\'\"])?$)
とテキストの次のブロックを:
To: <[email protected]>
それは、電子メールをキャプチャここにあると仮定しています:https://regex101.com/r/gQ1bV5/1
私のコードは、まだ電子メールアドレスの最後に>
などをキャプチャします。 (返信[email protected]>
)
public string FindRealEmail()
{
var filterRegex = new Regex("(?:^(?:X-Rcpt-To|X-MDRcpt-To|To): (?:[\\<\\\'\\\"])?(.*?)(?:[\\>\\\'\\\"])?$)", RegexOptions.Multiline);
var email = (filterRegex.IsMatch(Body) ? filterRegex.Match(Body).Groups[1].Value : EmailAddress).Replace("\r", "");
return email;
}
非キャプチャグループはまだ一致のpsttを構成します。それ以外の場合は、ルックアラウンドを使用します。 –
私はこの正規表現で何の結果も得ていません –
なぜそれが**ではないのですか?彼らは非キャプチャであるはずです... @WiktorStribiżew –