عبارات منظم re
عبارت منظم (Regex) چیست؟
- یک الگوی متنی برای جستجو، تطبیق یا استخراج بخشهایی از رشته
- در پایتون با ماژول
reکار میکنیم
توابع اصلی ماژول re
| تابع | کار |
|---|---|
re.search() |
جستجوی اولین تطبیق در هر جای رشته |
re.match() |
بررسی تطبیق فقط از ابتدای رشته |
re.findall() |
برگرداندن لیست همه تطبیقها |
re.sub() |
جایگزینی بخشهای منطبق با متن دیگر |
re.split() |
تقسیم رشته بر اساس الگو |
مثال: search
r'...': raw string — همیشه برای regex استفاده بشه تا\اشتباه تفسیر نشه
نمادهای پرکاربرد در regex
| نماد | معنی |
|---|---|
\d |
یک رقم (0-9) |
\w |
یک کاراکتر حرفی/عددی یا _ |
\s |
فضای خالی (space, tab, …) |
. |
هر کاراکتری (بهجز خط جدید) |
* |
صفر یا بیشتر تکرار |
+ |
یک یا بیشتر تکرار |
? |
صفر یا یک بار (اختیاری) |
^ |
شروع رشته |
$ |
پایان رشته |
[] |
یکی از کاراکترهای داخل براکت |
{n,m} |
تکرار بین n تا m بار |
findall — استخراج همه موارد
sub — جایگزینی
استخراج با گروه (())
- هر پرانتز یک گروه جدا میسازه که بهصورت مستقل قابل دسترسیه
کامپایل کردن الگو (برای استفاده مکرر)
- وقتی یک الگو رو چندبار قراره استفاده کنیم، کامپایل کردنش بهینهتره
نکته
- برای موارد ساده (مثل
startswith()،in) نیازی به regex نیست — regex برای الگوهای پیچیدهتر (مثل ایمیل، شماره تلفن، فرمت تاریخ) بهکار میره