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 - کلمه کلیدی Let (Let)

    JavaScript – کلمه کلیدی Let (Let)

    تعریف let کلیدواژه let در ES6 (2015) معرفی شد و دارای ویژگی‌های خاصی است که آن را از var...

    بیشتر بخوانید
    JavaScript - متغیرها (Variables)

    JavaScript – متغیرها (Variables)

    متغیرها در جاوا اسکریپت متغیرها در جاوا اسکریپت به عنوان ظرف‌هایی برای ذخیره‌سازی داده‌ها استفاده می‌شوند و می‌توانند به...

    بیشتر بخوانید
    JavaScript - کامنت‌ها (Comments)

    JavaScript – کامنت‌ها (Comments)

    کامنت‌ها در جاوا اسکریپت کامنت‌ها در جاوا اسکریپت به برنامه‌نویسان این امکان را می‌دهند تا توضیحاتی را به کد...

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

    نظرات

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

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