استفاده ساده از توابع re

  • مدرس: علی بیگدلی
  • تاریخ انتشار: 1402/05/04
  • تعداد بازدید: 149

تابع match

تابع match مقداری را با این استدلال که یک شئ با تعدادی از کارکتر ها و یا بدون هیچ تشابهی نسبت به regex تعیین شده را باز می گرداند.

نمونه زیر را در نظر بگیرید:

import re

words = ('book', 'bookworm', 'Bible', 
    'bookish','cookbook', 'bookstore', 'pocketbook')

pattern = re.compile(r'book')

for word in words:
    if re.match(pattern, word):
        print(f'The {word} matches')

در مثال بالا ما یک تاپل از کلمات را داریم. الگوی ساخته شده به دنبال کلمه book در متن می گردد.که در خط زیر اتفاق می افتد:

pattern = re.compile(r'book')

با استفاده از تابع compile یک الگوی ساده ایجاد می کنیم. regex ایجاد شده یک کلمه با چهار حرف ساده است.

for word in words:

    if re.match(pattern, word):
        print(f'The {word} matches')

 tuple را پیمایش کرده  و تابع match را فراخوانی می کنیم. این الگوی را روی کلمات اعمال می کند. اگر در ابتدای یک رشته مطابقت داشته باشد ، تابع match یک شی با مطابقت را برمی گرداند. در صورت عدم تطابق ، None را برمی گرداند. که در نهایت با خروجی زیر مواجه خواهیم شد.

The book matches 
The bookworm matches 
The bookish matches 
The bookstore matches 

تابع fullmatch

تابع fullmatch به دنبال تطابق دقیق الگوی وارده می گردد.به مثال زیر توجه نمایید:

import re

words = ('book', 'bookworm', 'Bible', 
    'bookish','cookbook', 'bookstore', 'pocketbook')

pattern = re.compile(r'book')

for word in words:

    if re.fullmatch(pattern, word):
        print(f'The {word} matches')

در مثال ، ما از تابع fullmatch برای جستجوی اصطلاح دقیق "book" استفاده می کنیم. که تنها خروجی زیر را در بر خواهد داشت:

The book matches

تابع Search

تابع search به دنبال اولین مکانی می رود که الگوی بیان منظم یک تطابق ایجاد می کند.

import re

words = ('book', 'bookworm', 'Bible', 
    'bookish','cookbook', 'bookstore', 'pocketbook')

pattern = re.compile(r'book')

for word in words:

    if re.search(pattern, word):
        print(f'The {word} matches') 

در مثال ، ما از تابع Search برای جستجوی اصطلاح "book" استفاده می کنیم. که خروجی زیر را در بر خواهد داشت:

The book matches 
The bookworm matches 
The bookish matches 
The cookbook matches 
The bookstore matches 
The pocketbook matches 

این بار کلمات کتاب آشپزی و کتاب جیبی نیز گنجانده شده است.