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.
Wyzwanie
ŁatwyNapisz 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 kodWszystkie lekcje w sekcji Wyrażenia regularne w Pythonie
1Wprowadzenie
Wprowadzenie5Grupowanie i zaawansowane wzorce
GrupowaniePrzechwytywanieOperator potokuAlternatywaWyprzedzeniaSprawdzenia wstecznePoćwicz samodzielnie: Kompilator Python online