Wyrażenia regularne
Wyrażenia regularne mogą być obsługiwane z wykorzystaniem np.: biblioteki "re"
Przykładowe wzorce
- \d* - ciąg cyfr
- \[znak] - jeśli znak jest znakiem specjalnym, np.: $ i chcemy go znaleźć w łańcuchu należy zaznaczyć, że traktujemy go jako znak, a nie znak specjalny, to tego służy jako tzw. escape character
- \d{2} - szukamy dwóch cyfr
- ^ - zaznaczenie, że wzorzec ma być wyszukiwany na początku ciągu znaków
- $ - zaznaczenie, że wzorzec, ma być wyszukiwany na końcu ciągów znaków
- ^$\d*.\d{2}$ - taki wzorzec będzie dopasowany do $12312312.12, ale np.: już nie do "Mam $12.12 i już"
Zastosowanie pakietu "re"
Zapisanie wzorca
Dobrą praktyką jest "skompilowanie" wzorca, które powoduje zapisanie go w zmiennej. Możemy go wówczas używać wielokrotnie, np.: szukając wzorców w strukturach typu DataFrame.
import re
pattern = re.compile("^\$\d*.\d{2}$")
Sprawdzenie czy łańcuch jest zgodny ze wzorcem
Zastosowanie metody match sprawdza czy zadany łańcuch znaków jest zgodny z wzorcem, zwracają wartość True lub False
result = pattern.match("$12.12")
Wyszukanie wystąpień zgodnych ze wzorcem
Zastosowanie metody findAll pozwala na wyszukanie w łańcuchu znaków wystąpień zgodnych z zadanym wzorcem:
matches = re.findall('\d+', 'the recipe calls for 10 strawberries and 1 banana')