Python – رجکس (RegEx)

در پایتون، RegEx یا عبارت‌های با قاعده، توالی‌ای از کاراکترها هستند که الگوهای جستجو را تشکیل می‌دهند. از این الگوها برای بررسی اینکه آیا یک رشته شامل الگوی جستجوی خاصی هست یا خیر استفاده می‌شود.

ماژول RegEx

پایتون یک بسته‌ی داخلی به نام re دارد که برای کار با Regular Expression‌ها (عبارت‌های با قاعده) استفاده می‌شود.

برای شروع، باید ماژول re را وارد کنید:

import re

توابع مهم در ماژول re

۱. تابع findall()

این تابع لیستی از تمام الگوهای مطابق را بازمی‌گرداند:

مثال:

import re

txt = "The rain in Spain"
x = re.findall("ai", txt)
print(x)  # نتیجه: ['ai', 'ai']

۲. تابع search()

این تابع اولین موردی که با الگو مطابق است را جستجو کرده و شیء Match را برمی‌گرداند. اگر مطابقی پیدا نشود، مقدار None بازگردانده می‌شود.

مثال:

import re

txt = "The rain in Spain"
x = re.search("\s", txt)

print("The first white-space character is located in position:", x.start())

۳. تابع split()

این تابع رشته را در هر تطابق الگو تقسیم کرده و یک لیست بازمی‌گرداند.

مثال:

import re

txt = "The rain in Spain"
x = re.split("\s", txt)
print(x)  # نتیجه: ['The', 'rain', 'in', 'Spain']

۴. تابع sub()

این تابع تمامی تطابق‌ها را با یک رشته‌ی مشخص جایگزین می‌کند.

مثال:

import re

txt = "The rain in Spain"
x = re.sub("\s", "9", txt)
print(x)  # نتیجه: The9rain9in9Spain

کاراکترهای خاص (Metacharacters)

  • []: مجموعه‌ای از کاراکترها
  • \: برای اعلام توالی‌های خاص مانند \d (برای اعداد)
  • .: هر کاراکتری (به جز newline)
  • ^: شروع رشته
  • $: پایان رشته
  • *: صفر یا بیشتر از وقوع‌ها
  • +: یک یا بیشتر از وقوع‌ها
  • ?: صفر یا یک وقوع
  • {}: تعداد دقیق وقوع‌ها
  • |: یا
  • (): گروه‌بندی

    توالی‌های خاص (Special Sequences)

    • \A: مطابقت در ابتدای رشته
    • \b: مطابقت در ابتدای یا انتهای کلمه
    • \d: مطابقت با اعداد (0-9)
    • \D: مطابقت با کاراکترهایی که عدد نیستند
    • \s: مطابقت با فضای خالی
    • \S: مطابقت با کاراکترهایی که فضای خالی نیستند
    • \w: مطابقت با کاراکترهای کلمه‌ای (a تا Z، 0 تا 9، _)
    • \W: مطابقت با کاراکترهایی که جزو کلمات نیستند
    • \Z: مطابقت در انتهای رشته

    کار با شیء Match

    شیء Match شامل اطلاعاتی در مورد جستجو و نتیجه است.

    مثال:

    import re
    
    txt = "The rain in Spain"
    x = re.search(r"\bS\w+", txt)
    print(x.span())  # بازگشت محدوده تطابق
    print(x.string)  # بازگشت رشته ورودی
    print(x.group())  # بازگشت قسمتی از رشته که تطابق دارد

    در صورتی که تطابقی پیدا نشود، مقدار None به جای شیء Match برگردانده می‌شود.

    پست های مرتبط

    مطالعه این پست ها رو از دست ندین!
    Python - محدود کردن داده (MongoDB Limit)

    Python – محدود کردن داده (MongoDB Limit)

    Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

    بیشتر بخوانید
    Python - بروزرسانی (MongoDB Update)

    Python – بروزرسانی (MongoDB Update)

    به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

    بیشتر بخوانید
    Python - حذف کالکشن (MongoDB Drop Collection)

    Python – حذف کالکشن (MongoDB Drop Collection)

    حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

    بیشتر بخوانید

    نظرات

    سوالات و نظراتتون رو با ما به اشتراک بذارید

    برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.