Rumah > Java > javaTutorial > Mengapa Pengesahan E-mel Java Regex Saya Gagal Walaupun Bekerja dalam Cari dan Ganti Eclipse?

Mengapa Pengesahan E-mel Java Regex Saya Gagal Walaupun Bekerja dalam Cari dan Ganti Eclipse?

Barbara Streisand
Lepaskan: 2024-11-30 17:30:11
asal
641 orang telah melayarinya

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

Masalah dengan Pengesahan E-mel Regex Java

Dalam percubaan untuk mengesahkan alamat e-mel menggunakan ungkapan biasa, pengguna Java telah menghadapi masalah di mana pengesahan gagal walaupun untuk alamat e-mel yang dibentuk dengan baik. Walaupun fakta bahawa regex sepadan dengan alamat e-mel apabila digunakan dalam fungsi "cari dan ganti" dalam Eclipse, ia gagal apabila digunakan dengan kelas Corak dan Matcher Java.

regex yang dimaksudkan ialah:

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Salin selepas log masuk

Pengguna telah menggunakan kod ini dalam 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!");
Salin selepas log masuk

Walau bagaimanapun, tanpa mengira alamat e-mel yang sah atau tidak sah, pengesahan regex gagal.

Penyelesaian Berpotensi

Penyelesaian yang dicadangkan ialah menggunakan kod Java berikut, yang menggunakan regex yang serupa:

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();
}
Salin selepas log masuk

Kod ini telah dilaporkan untuk mengesahkan alamat e-mel dengan pasti.

Atas ialah kandungan terperinci Mengapa Pengesahan E-mel Java Regex Saya Gagal Walaupun Bekerja dalam Cari dan Ganti Eclipse?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan