כמתים
שיעור 14 מתוך 28 בקורס ביטויים רגולריים ב-Python של Coddy.
מכמתים מאפשרים לך לציין כמה פעמים אפשר לחזור על תו או על קבוצת תווים בתבנית הביטוי הרגולרי שלך. המכמתים הנפוצים ביותר הם *, + ו-?.
<strong>*</strong>: תואם ל-0 חזרות או יותר של הרכיב הקודם.<strong>+</strong>: תואם לחזרה אחת או יותר של הרכיב הקודם.<strong>?</strong>: תואם ל-0 או לחזרה אחת של הרכיב הקודם.
import re
text = "The rain in Spain stays mainly in the plain."
pattern_star = r"Sp.*n"
pattern_plus = r"Sp.+n"
pattern_question = r"Sp.?n"
matches_star = re.findall(pattern_star, text)
matches_plus = re.findall(pattern_plus, text)
matches_question = re.findall(pattern_question, text)
print("Matches for '*':", matches_star) # פלט: ['Spain stays mainly in the plain']
print("Matches for '+':", matches_plus) # פלט: ['Spain stays mainly in the plain']
print("Matches for '?':", matches_question) # פלט: ['Span']בדוגמה שלמעלה, התבנית Sp.*n תואמת ל-"Spain stays mainly in the plain" מפני ש-.* תואם לכל תו (למעט ירידת שורה) 0 פעמים או יותר. התבנית Sp.+n תואמת ל-"Spain stays mainly in the plain" מפני ש-.+ תואם לכל תו פעם אחת או יותר. התבנית Sp.?n תואמת ל-"Span" מפני ש-.? תואם לכל תו 0 או פעם אחת.
אתגר
קלכתבו פונקציה בשם find_repeated_words שמקבלת מחרוזת טקסט כקלט ומחזירה רשימה של מילים שמכילות את האות "a" שחוזרת 0 פעמים או יותר.
נסו בעצמכם
import re
def find_repeated_words(text):
# כתבו כאן קודכל השיעורים ביחידה ביטויים רגולריים ב-Python
1מבוא
מבואתרגלו בעצמכם: קומפיילר Python אונליין