Rumah > Java > javaTutorial > Mengapa Pengesahan E-mel Java Regex Saya Gagal, Walaupun Ia Berfungsi dalam Eclipse?

Mengapa Pengesahan E-mel Java Regex Saya Gagal, Walaupun Ia Berfungsi dalam Eclipse?

DDD
Lepaskan: 2024-12-03 04:55:13
asal
253 orang telah melayarinya

Why Is My Java Regex Email Validation Failing, Even Though It Works in Eclipse?

Pengesahan E-mel Java Regex: Mengapa Regex Saya Gagal?

Anda menghadapi isu pelik di mana regex Java anda untuk pengesahan e-mel gagal secara konsisten , walaupun berfungsi dengan betul dalam Eclipse. Tingkah laku ini boleh membingungkan dan kami akan menyelidiki penyelesaiannya.

Rex yang disediakan adalah serupa dengan corak pengesahan e-mel yang biasa digunakan, di mana anda menyasarkan untuk memadankan struktur berikut: aksara alfanumerik huruf besar, garis bawah, noktah atau sempang diikuti dengan simbol "@", diikuti dengan lebih banyak aksara abjad angka, noktah atau sempang dan berakhir dengan komponen domain yang terdiri daripada 2 hingga 4 huruf besar huruf.

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, regex ini nampaknya gagal, mungkin disebabkan oleh aksara khas dalam rentetan e-mel yang disamarkan atau dilupuskan.

Penyelesaian Menggunakan Regexp yang Lebih Komprehensif

Untuk menangani perkara ini, kami boleh menggunakan regex yang lebih mantap untuk e-mel pengesahan:

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

regex dikemas kini ini mematuhi struktur e-mel yang ditentukan, tetapi selain itu mengendalikan aksara khas dengan lebih berkesan.

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

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan