معرفی Regex و نحوه استفاده از ماژول re
در پایتون
عبارات منظم (Regular Expressions) یا بهاختصار Regex، ابزار قدرتمندی برای جستجو، بررسی و پردازش رشتهها هستند. در پایتون، برای کار با regex از ماژول داخلی re
استفاده میشود.
استفاده اولیه با search
import re
text = "My phone number is 09121234567"
pattern = r"\d{11}"
match = re.search(pattern, text)
if match:
print("Found:", match.group())
تابع search
اولین تطابق با الگو را در رشته پیدا میکند و شیء تطابق را برمیگرداند. برای دسترسی به مقدار تطبیق یافته از group()
استفاده میشود.
بررسی تمام تطابقها با findall
text = "Numbers: 0912, 0935, 0990"
results = re.findall(r"09\d{2}", text)
print(results) # ['0912', '0935', '0990']
تابع findall
تمام موارد تطابق با الگو را به صورت لیست بازمیگرداند.
جایگزینی با sub
text = "my email is test@example.com"
new_text = re.sub(r"\S+@\S+", "[hidden email]", text)
print(new_text)
تابع sub
برای جایگزینی رشتههای مطابق با الگو استفاده میشود.
تقسیم رشته با split
line = "apple, banana; orange|kiwi"
parts = re.split(r"[,;|]\s*", line)
print(parts)
تابع split
برای تقسیم رشتهها بر اساس الگوی مشخص استفاده میشود.
نمونهای از الگوهای رایج
\d
: یک رقم\w
: یک کاراکتر کلمهای (حروف یا عدد)\s
: فاصله یا space.
: هر کاراکتر بهجز خط جدید^
: شروع رشته$
: پایان رشته[abc]
: یکی از کاراکترهای a، b یا ca{3}
: سه بار تکرار a
کامپایل کردن الگو برای استفاده مجدد
pattern = re.compile(r"\d{4}-\d{2}-\d{2}")
result = pattern.search("Today is 2025-08-03")
print(result.group())
کامپایل کردن الگو با re.compile
باعث افزایش کارایی و امکان استفاده چندباره از الگو میشود.
جمعبندی
ماژول re
ابزاری استاندارد در پایتون برای پردازش رشتهها با استفاده از الگوهای پیچیده است. کاربردهای آن شامل جستجوی الگو، استخراج داده، پاکسازی متن، و بررسی صحت قالب دادهها میشود.