0

いくつかのテキストの中に次の形式のメールアドレスがsometext@mail.comあります。@ mail.comは常に同じ形式であり、一部のテキストが変更されています。テキスト内でsometext@mail.comを一致させるにはどうすればよいですか。

4

2 に答える 2

0

これは些細なことではなく、使用する正規表現に関係なく、コーナーケースで誤った一致で終了する傾向がありますが、最初の概算として、私は提案します

\b\S+@mail\.com\b

これはスペースを含むメールアドレスとは一致しませんが、アドレスの前後の句読点を"(sometext@mail.com)"正しく処理します(のように)。

于 2013-01-16T11:55:25.667 に答える
0

必要なものは次のとおりです。

\b[_a-z0-9-]+(\.[_a-z0-9-]+)*@mail\.com\b

編集: (PCでテストしたところ、動作します)

using System.Text.RegularExpressions;

string body = "hgfhfghgfhfhh fdfdf@mail.com gfhhfhf";
Match match = Regex.Match(body, @"\b[_a-z0-9-]+(\.[_a-z0-9-]+)*@mail\.com\b",
                          RegexOptions.IgnoreCase); 
if (match.Success) { 
    // Finally, we get the Group value and display it. 
    string key = match.Groups[1].Value; 
    Console.WriteLine(key); 
}

ライブデモ

于 2013-01-16T11:56:28.393 に答える