Menu
Coddy logo textTech

בדיקות קדימה

שיעור 20 מתוך 28 בקורס ביטויים רגולריים ב-Python של Coddy.

מבדקי מבט קדימה הם הצהרות שמאפשרות להתאים קבוצת תווים רק אם אחריה מופיעה (מבדק מבט קדימה חיובי) או לא מופיעה (מבדק מבט קדימה שלילי) תבנית מסוימת. מבדקי מבט קדימה אינם צורכים תווים במחרוזת; הם רק בודקים אם התאמה אפשרית.

  • מבדק מבט קדימה חיובי <strong>(?=...)</strong>: מתאים קבוצת תווים רק אם אחריה מופיעה תבנית מסוימת.
  • מבדק מבט קדימה שלילי <strong>(?!...)</strong>: מתאים קבוצת תווים רק אם אחריה לא מופיעה תבנית מסוימת.
import re

text = "foo1 foo2 foo3 foo"
pattern_positive = r"foo(?=\d)"
pattern_negative = r"foo(?!\d)"

matches_positive = re.findall(pattern_positive, text)
matches_negative = re.findall(pattern_negative, text)

print("Matches with positive lookahead:", matches_positive)  # פלט: ['foo', 'foo', 'foo']
print("Matches with negative lookahead:", matches_negative)  # פלט: ['foo']

בדוגמה שלמעלה, התבנית foo(?=\d) מתאימה ל-"foo" רק אם אחריה מופיעה ספרה, ואילו התבנית foo(?!\d) מתאימה ל-"foo" רק אם אחריה לא מופיעה ספרה.

challenge icon

אתגר

קל

כתבו פונקציה בשם find_numbers_followed_by_words שמקבלת מחרוזת טקסט כקלט ומחזירה רשימה של מספרים שאחריהם מופיעה מילה.

נסו בעצמכם

import re

def find_numbers_followed_by_words(text):
    # כתבו כאן את הקוד

כל השיעורים ביחידה ביטויים רגולריים ב-Python

תרגלו בעצמכם: קומפיילר Python אונליין