3. Wyrażenia regularne¶
3.1. Import¶
>>> import re
3.2. Zastosowania¶
Przetwarzanie tekstu,
Znajdowanie wzorców,
Oczyszczanie danych
Walidacja poprawności danych
3.3. Funkcje w pakiecie re¶
funkcja |
znaczenie oraz użycie |
Wynik |
---|---|---|
re.match |
Czy pasuje |
True/False |
re.search |
Pierwsze położenie |
|
re.split |
Dzieli po seperatorze |
Lista |
re.findall |
Znajdź wszystkie wystąpienia |
Lista |
re.finiter |
Znajdź wszystkie wystąpienia |
Iterator |
3.4. Klasy znaków¶
klasa |
znaczenie |
|
---|---|---|
. |
Dowolny znak |
|
^ |
Początek linni |
|
$ |
Koniec linni |
|
Zero lub więcej wystąpień |
||
Jeden lub więcej wystąpień |
||
? |
Jeden lub zero wystąpień |
|
{n} |
N wystąpięń |
|
{n, m} |
Ilość wystąpięń w przedziale od |
|
d |
Grupa liczbowa synonim [0-9] |
|
D |
Anty grupa liczbowa synonim [^0-9] |
|
w |
Grupa “słowna” - synonim [a-zA-Z0-9_] |
|
W |
Anty grupa “słowna” - synonim [^a-zA-Z0-9_] |
|
s |
Grupa białych znaków - synonim [rntfv] |
|
[abc] |
Grupa znaków a, b lub c |
|
[a-z] |
Znaki w zakresie od |
|
() |
Grupa |
3.5. Zadania¶
3.5.1. Pierwsze¶
Stwórz funkcję
sprawdz_ip
Funkcja będzie sprawdzać czy IP jest poprawne,
Przetestuj funkcję na slowniku hostow
{
'127.0.0.1': {'poprawny': None},
'8.8.8.8': {'poprawny': None},
'x.x.x.x': {'poprawny': None}
}
* W miejsce ``x.x.x.x`` wstaw adres hosta w swojej sieci,
* Zaktualizuj flagę ``poprawny``
Hint
Można użyć poniższego wyrażenia regularnego, lub znaleźć / stworzyć bardziej dokładne wyrażenie
^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$
3.5.2. Drugie¶
Stwórz funkcję
sprawdz_email
Funkcja będzie sprawdzać czy email jest poprawny
3.5.3. Trzecie¶
Używając biblioteki
requests
Ściągnij zawartość strony
Wydobądź wszystkie tagi html,
Wydobądź słowa - które człowiek jest w stanie przeczytać
3.5.4. Czwarte¶
Używając biblioteki
collections
Wylicz wystąpienia słów z punktu Trzeciego,
Wyświetl top 10 najczęstszych słów - wnioski ?,
Wyświetl top 70 najczęstszych słów - wnioski ?
3.6. Zasoby¶
Regex Expressions 101 - strona
Regular Expressions Cookbook by Steven Levithan, Jan Goyvaerts - książka
Stack overflow disscussion