یک برنامهٔ جاوا بنویسید که رشته‌ای حاوی متن و چندین آدرس ایمیل دریافت کند و با استفاده از کلاس‌های 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 یا پارامتر رشته‌ای بگیرید؛ برای موارد ساده این روش برای مبتدیان کافی است.

توسط پژوهشگر در 198 روز قبل ساعت 02:14
دسته بندی ها: Java Java for beginner
sara در 198 روز قبل ساعت 02:15

برای جست‌وجوی ایمیل‌ها می‌توانید از 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 یا پارامتر رشته‌ای بگیرید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری