Przechwytywanie
Lekcja 17 z 28 w kursie Wyrażenia regularne w Pythonie w Coddy.
Grupy przechwytujące nie tylko grupują części wzorca, ale także przechwytują dopasowany tekst. Do tych przechwyconych grup można później odwoływać się we wzorcu lub używać ich w ciągu zastępującym podczas podstawiania.
import re
text = "abab abab abab"
pattern = r"(ab)\1"
matches = re.findall(pattern, text)
print(matches) # Wynik: ['ab', 'ab']W powyższym przykładzie wzorzec (ab)\1 przechwytuje grupę "ab", a następnie szuka tej samej grupy bezpośrednio po niej. \1 to odwołanie wsteczne do pierwszej przechwyconej grupy.
Inny przykład:
import re
text = "My email is example@example.com and my backup is backup@example.com."
pattern = r"(\w+)@example\.com"
matches = re.findall(pattern, text)
print(matches) # Wynik: ['example', 'backup']W powyższym przykładzie wzorzec (\w+)@example\.com przechwytuje część adresu e-mail przed @example.com.
Wyzwanie
ŁatwyNapisz funkcję o nazwie find_repeated_patterns, która przyjmuje jako dane wejściowe ciąg tekstowy i zwraca listę powtarzających się wzorców składających się z dwóch znaków.
Spróbuj swoich sił
import re
def find_repeated_patterns(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