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"bSw+", txt)
    print(x.span())  # بازگشت محدوده تطابق
    print(x.string)  # بازگشت رشته ورودی
    print(x.group())  # بازگشت قسمتی از رشته که تطابق دارد

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

    پست های مرتبط

    مطالعه این پست ها رو از دست ندین!
    JavaScript - تاریخ‌ها (Dates)

    JavaScript – تاریخ‌ها (Dates)

    آبجکت‌های تاریخ (Date) در جاوااسکریپت آبجکت‌های تاریخ در جاوااسکریپت به ما امکان کار با تاریخ و زمان را می‌دهند....

    بیشتر بخوانید
    JavaScript - آرایه‌های ثابت (Array Const)

    JavaScript – آرایه‌های ثابت (Array Const)

    جاوااسکریپت: تعریف آرایه با const در سال 2015، جاوااسکریپت کلمه کلیدی مهمی به نام const را معرفی کرد. این...

    بیشتر بخوانید
    JavaScript - تکرار آرایه‌ها (Array Iteration)

    JavaScript – تکرار آرایه‌ها (Array Iteration)

    جاوا اسکریپت: تکرار بر روی آرایه‌ها جاوا اسکریپت روش‌های مختلفی برای تکرار (Iteration) بر روی آرایه‌ها ارائه می‌دهد که...

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

    نظرات

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

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