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

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

Barbara Streisand
Barbara Streisand原創
2024-11-30 17:30:11592瀏覽

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

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

以上是儘管在 Eclipse 的查找和替換中工作,為什麼我的 Java Regex 電子郵件驗證失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn