یک برنامهٔ جاوا بنویسید که رشتهای حاوی متن و چندین آدرس ایمیل دریافت کند و با استفاده از کلاسهای Pattern و Matcher همهٔ ایمیلهای معتبر را استخراج و در یک لیست چاپ کند.
13.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:14 0.0
برای حل، از Pattern.compile با یک الگوی مناسب ایمیل مانند "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}" استفاده کنید، سپس با Pattern.matcher روی متن فراخوانی کرده و در حلقهٔ while(matcher.find()) هر matcher.group() را به لیستی اضافه کنید و در پایان لیست را چاپ کنید. نکات: در جاوا بکاسلشها را باید فرار دهید، میتوانید از Pattern.CASE_INSENSITIVE استفاده کنید و ورودی را با Scanner یا پارامتر رشتهای بگیرید؛ برای موارد ساده این روش برای مبتدیان کافی است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جستوجوی ایمیلها میتوانید از Pattern.compile("[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}", Pattern.CASE_INSENSITIVE) استفاده کنید تا با Matcher در while(matcher.find()) همهٔ گروهها را بگیرید. توجه داشته باشید که این الگو ممکن است برخی موارد خاص مثل آدرسهای بینالمللی یا آدرسهای غیرمرسوم را نپوشاند و گاهی هم نتایج مثبت کاذب تولید کند؛ برای اعتبارسنجی قویتر میتوان از javax.mail.internet.InternetAddress یا الگوی دقیقتر بهره برد. همچنین در رشتههای جاوا بکاسلشها را فرار دهید و برای جلوگیری از تطابقهای جزئی از \b یا پیش و پسزمینهٔ مناسب استفاده کنید و ورودی را با Scanner یا پارامتر رشتهای بگیرید.
گزارش