」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 儘管在 Eclipse 的查找和替換中工作,為什麼我的 Java Regex 電子郵件驗證失敗?

儘管在 Eclipse 的查找和替換中工作,為什麼我的 Java Regex 電子郵件驗證失敗?

發佈於2024-12-22
瀏覽:367

Why Does My Java Regex Email Validation Fail Despite Working in Eclipse's Find and Replace?

Java 正規表示式電子郵件驗證出現問題

在嘗試使用正規表示式驗證電子郵件地址時,Java 使用者遇到了以下問題:即使對於格式正確的電子郵件地址,驗證也會失敗。儘管事實上,當在 Eclipse 中的「尋找和取代」功能中使用正規表示式時,該正規表示式會符合電子郵件地址,但在與 Java 的 Pattern 和 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 程式碼,該程式碼採用類似的正規表示式:

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();
}

據報告,此程式碼可以可靠地驗證電子郵件地址。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3