Předpoklad: Regulární výraz s příklady | Python
Regulární výraz (někdy nazývaný racionální výraz) je posloupnost znaků, která definuje vyhledávací vzor, zejména pro použití při porovnávání vzorů s řetězci nebo při porovnávání řetězců, tj. při operacích typu „najdi a nahraď“. Regulární výrazy jsou zobecněným způsobem porovnávání vzorů pomocí posloupností znaků.
Modul regulárních výrazů (RE) určuje množinu řetězců (vzor), která mu odpovídá. Pro pochopení analogie RE jsou MetaCharacters
užitečné, důležité a budou použity ve funkcích modulu re
.
Existuje celkem 14 metaznaků a budou probrány tak, jak budou následovat do funkcí:
\ Used to drop the special meaning of character following it (discussed below) Represent a character class^ Matches the beginning$ Matches the end. Matches any character except newline? Matches zero or one occurrence.| Means OR (Matches with any of the characters separated by it.* Any number of occurrences (including 0 occurrences)+ One ore more occurrences{} Indicate number of occurrences of a preceding RE to match.() Enclose a group of REs
re.search()
re.search()
Metoda buď vrací None (pokud vzor nevyhovuje), nebo re.MatchObject
, který obsahuje informace o vyhovující části řetězce. Tato metoda se zastaví po první shodě, takže je nejvhodnější spíše pro testování regulárního výrazu než pro získávání dat.
Příklad:
Výstup:
Match at index 14, 21Full match: June 24Month: JuneDay: 24
re.findall()
Vrátí všechny nepřekrývající se shody vzoru v řetězci jako seznam řetězců. Řetězec je prohledáván zleva doprava a shody jsou vráceny v nalezeném pořadí.
Příklad:
import
re
string
=
regex
=
'\d+'
match
=
re.findall(regex, string)
print
(match)
Výstup: