Menu
Coddy logo textTech

כמתים

שיעור 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 או פעם אחת.

challenge icon

אתגר

קל

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

נסו בעצמכם

import re

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

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

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