"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يفشل التحقق من صحة البريد الإلكتروني الخاص بـ Java Regex على الرغم من العمل في البحث والاستبدال في Eclipse؟

لماذا يفشل التحقق من صحة البريد الإلكتروني الخاص بـ Java Regex على الرغم من العمل في البحث والاستبدال في Eclipse؟

تم النشر بتاريخ 2024-12-22
تصفح:385

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

مشكلة في التحقق من صحة البريد الإلكتروني Regex في Java

في محاولة التحقق من صحة عناوين البريد الإلكتروني باستخدام تعبير عادي، واجه مستخدم Java مشكلة حيث يفشل التحقق من الصحة حتى بالنسبة لعناوين البريد الإلكتروني جيدة التكوين. على الرغم من حقيقة أن التعبير العادي يطابق عناوين البريد الإلكتروني عند استخدامه في وظيفة "بحث واستبدال" داخل Eclipse، إلا أنه يفشل عند استخدامه مع فئات Pattern وMatcher في Java.

التعبير العادي المعني هو:

\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