ユーザーは、Java での電子メール検証に正規表現を使用する際に問題が発生しました。 Eclipse 内の「検索と置換」操作で正規表現が一致しているにもかかわらず、Java Matcher クラスを使用して電子メール アドレスを検索できません。
ユーザーが次の正規表現を指定しました:
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Java では、彼らが書いたコードは次のとおりです:
Pattern p = Pattern.compile("\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"); Matcher m = p.matcher("[email protected]"); if (m.find()) System.out.println("Correct!");
しかし、正規表現は、電子メールが整形式かどうか。
指定された正規表現は、指定された Java コードで使用されているものと似ています。ただし、いくつかの重要な違いがあります。
次の Java コードは、これらの問題に対処するために変更されました:
Pattern p = Pattern.compile("[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}"); Matcher m = p.matcher("[email protected]"); if (m.find()) System.out.println("Correct!");
これらの変更により、正規表現は Java の電子メール アドレスと一致するようになります。
以上がJava Regex が電子メール アドレスと一致しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。