یک برنامهٔ روبی بنویسید که از یک رشتهٔ ورودی همهٔ آدرسهای ایمیل معتبر را استخراج کرده و به صورت یک آرایه برگرداند.
10.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:35 0.0
از یک عبارت منظم (Regex) برای تشخیص الگوی ایمیل استفاده کنید و با متدهای رشتهای روبی مانند scan برای یافتن همهٔ مطابقتها بهره ببرید؛ برای مثال الگوی سادهای مانند /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/ میتواند مناسب باشد. خروجی را به صورت آرایهای از ایمیلها برگردانید، در صورت نیاز از uniq برای حذف تکراریها استفاده کنید و برای جلوگیری از خطاها قبل از اجرا بررسی کنید رشتهٔ ورودی nil نباشد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ کلیدی برای چنین قابلیتی استفاده از String#scan با یک regex مناسب است تا همهٔ ایمیلهای معتبر در ورودی استخراج شوند. برای جلوگیری از بازگشت آرایهای از گروهها بهخاطر وجود گروههای ضبط، از گروههای غیر ضبط (?:...) استفاده کنید یا آن را بهگونهای بنویسید که فقط خودِ ایمیلها برگشت داده شوند. همچنین قبل از اجرا بررسی کنید که ورودی nil نباشد و در صورت nil بودن، یک آرایهٔ خالی بازگردانید و پس از آن از uniq! برای حذف تکراریها استفاده کنید. برای نمونه میتوانید از عبارت /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/ استفاده کنید و در صورت نیاز دامنهها را دقیقتر کنید.
گزارش