ホームページ >Java >&#&チュートリアル >Java Regex はどのようにして電子メール アドレスを効果的に検証できるのでしょうか?

Java Regex はどのようにして電子メール アドレスを効果的に検証できるのでしょうか?

DDD
DDDオリジナル
2024-12-02 16:01:16151ブラウズ

How Can Java Regex Effectively Validate Email Addresses?

Java Regex による電子メール検証

正規表現を使用した電子メール アドレスの検証は、あまり推奨されないアプローチですが、この方法を続行するには、それが引き起こす可能性のある潜在的な問題を理解するために。

まず、提供されているものを調べてみましょう。正規表現:

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]");

しかし、正規表現は有効な電子メール アドレスと一致しませんでした。失敗の潜在的な原因を特定するために、コードと正規表現を検討してみましょう。

同じ正規表現を使用する Eclipse 内の「検索と置換」機能は、同じパターン マッチング アルゴリズムを使用していないか、処理した可能性があるため、動作が異なります。

この問題を解決するには、より洗練された電子メール検証の使用を検討できます。 regex:

public static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);

public static boolean validate(String emailStr) {
        Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr);
        return matcher.matches();
}

この更新された正規表現は、有効な電子メール アドレスが確実に一致するように、より厳密な形式に従っています。また、大文字と小文字を区別しないパターンを使用して、電子メールの大文字と小文字のバリエーションを許可します。

以上がJava Regex はどのようにして電子メール アドレスを効果的に検証できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。