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