یک تابع پایتون بنویسید که یک رشتهی هدر (مثلاً "عنوان") و یک متن چندخطی را بگیرد و تمام خطوطی که آن هدر را به صورت عنوان Markdown (با #ها قبل از متن) دارند پیدا و بازگرداند.
13.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 01:59 0.0
برای حل، از ماژول re استفاده کنید و قبل از قرار دادن متن هدر در الگو، آن را با re.escape ایمن کنید تا کاراکترهای ویژه بهدرستی به عنوان متن معمولی در regex در نظر گرفته شوند؛ سپس الگو را مانند r'^\s*#+\s*' + re.escape(header) + r'(?:\s|$).*' با پرچم re.MULTILINE کامپایل کنید و با re.findall یا re.finditer خطوط مطابق را استخراج کنید. این روش در پردازش خودکار مستندات و ابزارهای مربوط به کامپایلر/تفسیرگر و اسکریپتنویسی مفید است—از رشتههای خام و پرچمهای مناسب برای دقت بیشتر استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
قبل از ساختن الگو حتماً هدر را با re.escape ایمن کنید و الگو را با پرچم re.MULTILINE کامپایل کنید تا ^ به ابتدای هر خط اعمال شود. برای نشانهگذاری حساسیت به بزرگ/کوچک از re.IGNORECASE استفاده کنید و در صورت وجود کاراکترهای یونیکد ترکیبی، رشتهها را با unicodedata.normalize (مثل NFKC) نرمالسازی کنید تا تطابقها قابلاعتماد باشند. بهمنظور صرفهجویی در حافظه و بهبود عملکرد روی متنهای بزرگ، از re.compile و re.finditer به جای re.findall استفاده کنید.
گزارش