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