שימוש בביטויים רגולריים

Python:
שימוש בביטויים רגולריים

איך ל:

השימוש בביטויים רגולריים בפייתון כרוך במודול re, שסופק קבוצה של פונקציות לעיבוד טקסט באמצעות ביטויים רגולריים.

התאמת תבנית בסיסית

לחפש תבנית במחרוזת, השתמשו ב-re.search(). היא מחזירה אובייקט התאמה כאשר התבנית נמצאת, אחרת None.

import re

text = "Learn Python programming"
match = re.search("Python", text)
if match:
    print("נמצאה תבנית!")
else:
    print("התבנית לא נמצאה.")

פלט:

נמצאה תבנית!

קומפילציה של ביטויים רגולריים

לשימוש חוזר באותה תבנית, קומפלו אותה תחילה באמצעות re.compile() לביצועים טובים יותר.

pattern = re.compile("Python")
match = pattern.search("Learn Python programming")
if match:
    print("נמצאה תבנית מקומפלת!")

פלט:

נמצאה תבנית מקומפלת!

פיצול מחרוזות

לפצל מחרוזת בכל התאמה של תבנית regex, השתמשו ב-re.split().

result = re.split("\s", "Python is fun")
print(result)

פלט:

['Python', 'is', 'fun']

מציאת כל ההתאמות

למצוא את כל המופעים שאינם מתנפחים של תבנית, השתמשו ב-re.findall().

matches = re.findall("n", "Python programming")
print(matches)

פלט:

['n', 'n']

החלפת טקסט

השתמשו ב-re.sub() כדי להחליף הופעות של תבנית במחרוזת חדשה.

replaced_text = re.sub("fun", "awesome", "Python is fun")
print(replaced_text)

פלט:

Python הוא מדהים

ספריות צד שלישי

למרות שמודול ה-re המובנה של פייתון חזק, ספריות צד שלישי כמו regex מציעות יותר תכונות וביצועים משופרים. כדי להשתמש ב-regex, התקינו אותה דרך pip (pip install regex) וייבאו אותה בקוד שלכם.

import regex

text = "Learning Python 3.8"
match = regex.search(r"Python\s(\d+\.\d+)", text)
if match:
    print(f"נמצאה גרסה: {match.group(1)}")

פלט:

נמצאה גרסה: 3.8