Menu
Coddy logo textTech

Kwantyfikatory

Lekcja 14 z 28 w kursie Wyrażenia regularne w Pythonie w Coddy.

Kwantyfikatory pozwalają określić, ile razy znak lub grupa znaków może zostać powtórzona we wzorcu regex. Najczęściej używane kwantyfikatory to *, + i ?.

  • <strong>*</strong>: Dopasowuje 0 lub więcej powtórzeń poprzedzającego elementu.
  • <strong>+</strong>: Dopasowuje 1 lub więcej powtórzeń poprzedzającego elementu.
  • <strong>?</strong>: Dopasowuje 0 lub 1 powtórzenie poprzedzającego elementu.
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)  # Wynik: ['Spain stays mainly in the plain']
print("Matches for '+':", matches_plus)  # Wynik: ['Spain stays mainly in the plain']
print("Matches for '?':", matches_question)  # Wynik: ['Span']

W powyższym przykładzie wzorzec Sp.*n dopasowuje „Spain stays mainly in the plain”, ponieważ .* dopasowuje dowolny znak (z wyjątkiem znaku nowej linii) 0 lub więcej razy. Wzorzec Sp.+n dopasowuje „Spain stays mainly in the plain”, ponieważ .+ dopasowuje dowolny znak 1 lub więcej razy. Wzorzec Sp.?n dopasowuje „Span”, ponieważ .? dopasowuje dowolny znak 0 lub 1 raz.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję o nazwie find_repeated_words, która jako dane wejściowe przyjmuje ciąg tekstowy i zwraca listę słów zawierających literę "a" powtórzoną 0 lub więcej razy.

Spróbuj swoich sił

import re

def find_repeated_words(text):
    # Wpisz tutaj kod

Wszystkie lekcje w sekcji Wyrażenia regularne w Pythonie

Poćwicz samodzielnie: Kompilator Python online