0

これが私の表現

(\w+\.)*\w+\s*(@|\({1}\s*at\s*\){1}|\s+at\s+){1}\s*(\S{2,3}\.)?(\w+)(\s*dot\s*|\s*\.*\s*)(com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|ru)\b

間違っているl@ombe@cs.name.eduからombe@cs.name.eduを与える

可能なバリアントからl@ombe@cs.name.eduを除外する必要があります

私は、自宅の割り当ての一部として、検証するのではなく、さまざまな難読化された文字列から電子メールを抽出するために、この正規表現を開発しました。l@ombe@cs.name.eduテストでスタックしました。

手伝ってくれませんか。

再定義:

表現:

(\w+)@(\w+)\.name\.edu

2つの文字列:

  • name @ name1 @ cs.name.edu
  • name2@cs.name.edu

その結果、次のようになります。

name1@cs.name.eduおよびname2@cs.name.edu

1つの部分はまったく含まれていてはなりません。

4

2 に答える 2

0

^と$を使用して、正規表現を文字列の最初と最後に固定できます。これにより、文字列の一部だけでなく、文字列全体が強制的に一致します。

あなたの場合:

^(\w+\.)*\w+\s*(@|\({1}\s*at\s*\){1}|\s+at\s+){1}\s*(\S{2,3}\.)?(\w+)(\s*dot\s*|\s*\.*\s*)(com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|ru)\b$
于 2012-04-17T11:35:28.977 に答える
0

RFC 2822

(?:[a-z0-9!#$%&'* + / =?^ _ `{|}〜-] +(?:\。[a-z0-9!#$%&' * + / =?^ _ `{|}〜-] +)* |"(?:[\ x01- \ x08 \ x0b \ x0c \ x0e- \ x1f \ x21 \ x23- \ x5b \ x5d- \ x7f] | \\ [\ x01- \ x09 \ x0b \ x0c \ x0e- \ x7f])* ")@(?:(?:[a-z0-9](?:[a-z0-9-] * [a-z0 -9])?\。)+ [a-z0-9](?:[a-z0-9-] * [a-z0-9])?| \ [(?:(?:25 [0- 5] | 2 [0-4] [0-9] | [01]?[0-9] [0-9]?)\。){3}(?: 25 [0-5] | 2 [0 -4] [0-9] | [01]?[0-9] [0-9]?| [a-z0-9-] * [a-z0-9] :(?:[\ x01- \ x08 \ x0b \ x0c \ x0e- \ x1f \ x21- \ x5a \ x53- \ x7f] | \\ [\ x01- \ x09 \ x0b \ x0c \ x0e- \ x7f])+)\])
于 2012-04-17T11:56:55.033 に答える