Rumah >Java >javaTutorial >Mengapa Java Regex Saya Tidak Padan dengan Alamat E-mel?
Seorang pengguna menghadapi kesukaran menggunakan regex untuk pengesahan e-mel di Java. Walaupun pemadanan regex dalam operasi "cari dan ganti" dalam Eclipse, ia gagal mencari alamat e-mel menggunakan kelas Java Matcher.
Pengguna telah menyediakan regex berikut:
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Dalam Java, kod yang mereka tulis ialah:
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!");
Walau bagaimanapun, regex gagal sepadan tanpa mengira sama ada e-mel itu terbentuk dengan baik atau tidak.
regex yang disediakan adalah serupa dengan yang digunakan dalam kod Java yang diberikan. Walau bagaimanapun, terdapat beberapa perbezaan utama:
Kod Java berikut telah diubah suai untuk menangani isu ini:
Pattern p = Pattern.compile("[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}"); Matcher m = p.matcher("[email protected]"); if (m.find()) System.out.println("Correct!");
Dengan pengubahsuaian ini, regex kini sepatutnya sepadan dengan alamat e-mel di Java sebagai dijangka.
Atas ialah kandungan terperinci Mengapa Java Regex Saya Tidak Padan dengan Alamat E-mel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!