Wzorce wyrażeń regularnych w Pythonie (re moduł) Ściągawka

Przewodnik informacyjny dotyczący wyrażeń regularnych w języku Python. Poznaj wzorce dopasowywania, wyszukiwania, wyszukiwania, sub i podstawowych wzorców wyrażeń regularnych.

Podstawowe metody modułu

Standardowe interfejsy funkcji w bibliotece re dla zapytań tekstowych.

Metoda / FunkcjaSkładniaOpis
search()re.search(pattern, string)Skanuje ciąg wejściowy, aby zlokalizować pierwszą lokalizację, w której pasuje wzorzec wyrażenia regularnego.
match()re.match(pattern, string)Określa, czy wzorzec wyrażenia regularnego pasuje, zaczynając od początku ciągu.
findall()re.findall(pattern, string)Znajduje wszystkie nienakładające się dopasowania wzorca i zwraca listę dopasowań.
finditer()re.finditer(pattern, string)Zwraca iterator dostarczający instancje MatchObject dla wszystkich dopasowań.
sub()re.sub(pattern, repl, string)Zastępuje wszystkie wystąpienia wzorca w ciągu przez repl.
compile()re.compile(pattern)Kompiluje wzorzec wyrażenia regularnego do obiektu wyrażenia regularnego w celu ponownego użycia.

Metaznaki i skróty wyrażeń regularnych

Bloki konstrukcyjne do konstruowania wzorców wyszukiwania.

Metoda / FunkcjaSkładniaOpis
.Match any characterDopasowuje dowolny pojedynczy znak z wyjątkiem znaku nowej linii.
^ / $Anchor start / endDopasowuje początek ciągu (^) i koniec ciągu ($).
* / + / ?QuantifiersReprezentuje 0 lub więcej (*), 1 lub więcej (+) lub 0 lub 1 (?) powtórzeń.
\dDigit characterOdpowiednik klasy [0-9].
\wAlphanumeric characterDopasowuje znaki alfanumeryczne i podkreślenia.
\sWhitespace characterDopasowuje spacje, tabulatory i znaki nowej linii.

Interaktywny skrypt demonstracyjny

run_all_cheat_methods.py
Uruchom w Edytorze
# search()
re.search(pattern, string)

# match()
re.match(pattern, string)

# findall()
re.findall(pattern, string)

# finditer()
re.finditer(pattern, string)

# sub()
re.sub(pattern, repl, string)

# compile()
re.compile(pattern)

# .
Match any character

# ^ / $
Anchor start / end

# * / + / ?
Quantifiers

# \d
Digit character

# \w
Alphanumeric character

# \s
Whitespace character

Często zadawane pytania

Jaka jest różnica między re.match() a re.search()?

re.match() sprawdza dopasowanie tylko na początku łańcucha, podczas gdy re.search() skanuje cały ciąg w poszukiwaniu dopasowania w dowolnym miejscu.

Jak przechwycić wyniki grupowe w dopasowaniu wyrażenia regularnego?

Użyj nawiasów () w swoim wzorcu, aby zdefiniować grupy i pobrać je za pomocą match_obj.group(1), match_obj.group(2) itp.

Powiązane tematy

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.