Wprowadzenie do wyrażeń regularnych
Marcin
Lewandowski
Marcin
Lewandowski
Marcin Lewandowski
- programista z ponad 15 letnim doświadczeniem,
- tworzę i rozwijam systemy dla logistyki,
- prowadzę bloga czterytygodnie.pl
Uczestnicy
- Imię i nazwisko
- Jaki jest dla mnie cel szkolenia ?
- Czy udało mi się wypełnić Kwestionariusz Oczekiwań przed szkoleniem ?
- Gdzie i w jaki sposób będę wykorzystywać wiedzę ze szkolenia ?
- Co aktualnie wiem o temacie szkolenia ?
- Jakie wykorzystuję oprogramowanie związane z tematem szkolenia ?
Marcin
Lewandowski
Informacje organizacyjne
Marcin
Lewandowski
Plan szkolenia
- Wprowadzenie
- Czym są wyrażenia regularne ?
- W czym może pomóc Ci RegEx ?
- Jak działa silnik RegEx
- Narzędzia
- Wyszukiwanie ciągów znaków
- Klasy znaków
- Zbiory
- Zakresy
- Białe znaki
- Skrótowe klasy znaków
- Kropka
- Alternatywy
- Powtórzenia
- Zachłanność
- Grupy
Marcin
Lewandowski
Na zakończenie szkolenia
Marcin
Lewandowski
Wprowadzenie
Czym są wyrażenia regularne ?
opis ciągu znaków
399,00 zł
jak opiszecie powyższy ciąg znaków ??
Czym są wyrażenia regularne ?
opis ciągu znaków
takiego opisu nie zrozumie komputer :(
Czym są wyrażenia regularne ?
opis ciągu znaków
W czym może pomóc RegEx ?
- sprawdzenie tekstu ze wzorcem, czyli sprawdzenie poprawności danych,
- odnajdowanie wzorca w tekście, pozwala na znalezienie np. wszystkich adresów e-mail w tekście
- fragmentacja tekstu, wyciągnięcie fragmentów danych ze wzorców, np. Apple iPhone 6s 32GB wyciągamy informację o 32GB
- zamiana tekstu, pozwala na transformację danych na dane w jednym formacie np. ujednolicenie formatu daty, numeru telefonu
Jak działa silnik RegEx ?
Jak działa silnik RegEx ?
Jak działa silnik RegEx ?
Jak działa silnik RegEx ?
Jak działa silnik RegEx ?
Jak działa silnik RegEx ?
Jak działa silnik RegEx ?
Jak działa silnik RegEx ?
Jak działa silnik RegEx ?
Narzędzia
Wyszukiwanie ciągów znaków
Wyszukiwanie ciągów znaków
odpowiednik ctrl + f w wyszukiwarce
IPHONE 7+ 32GB | WYBÓR KOLORÓW | GRATIS | KLASA A+
Flagi
Flagi
g – global
pozwala na wielokrotne wyszukiwanie wzorca
Flagi
m – multi line, zmienia zachowanie ^ oraz $, po włączeniu flagi znak ^ oznacza początek linii, a $ koniec linii
Flagi
i – insensitive, włącza niewrażliwość na wielkość liter
Flagi
s – single line, po włączeniu kropka zastępuje także znak nowej linii
Flagi
u – unicode, dodaje do zakresu \w także znaki narodowe
Flagi
U – ungreedy, zmienia domyślny tryb działania z zachłannego na niezachłanny
Klasy znaków
Zbiory
Klasy znaków
[ ...lista elementów... ]
[0123456789]
Zbiory
Klasy znaków
[ ] vs [ ]+ vs [ ]*
Zakresy
Klasy znaków
[0123456789]
[0-9]
Zakresy
Klasy znaków
[a-zA-Z]
[a-z0-9]
Białe znaki
Klasy znaków
\ – spacja
\t – tabulacja
\n – nowa linia (ang. line feed – LF)
\r – powrót karetki (ang. carriage return – CR).
Należy zwrócić uwagę, że różne systemy operacyjne zapisują znak nowej linii w nieco inny sposób.
Unix / Linux / Mac OS X (LF) – \n
Mac OS (CR) – \r
Windows (CR LF) – \r\n
Skrótowe klasy znaków
Klasy znaków
\d – cyfry,
\D – wszystko poza cyframi,
\w – cyfry i litery (włączona flaga Unicode dodaje znaki narodowe),
\W – wszystko poza cyframi i literami (włączona flaga Unicode dodaje znaki narodowe),
\s – białe znaki,
\S – wszystko poza białymi znakami
Kropka
Klasy znaków
Specjalny znak, który jest w stanie zastąpić każdy inny, poza jednym drobnym wyjątkiem. Tym wyjątkiem jest znak nowej linii.
Alternatywy
Alternatywy
Alternatywy mają swój znak specjalny, którym rozdzielamy kolejne warunki
|
iphone 7\+
iphone 7 plus
Powtórzenia
Powtórzenia
\d{1}
Powtórzenia
\d{1,5}
\d{1,}
Powtórzenia
{0,1} możemy zapisać za pomocą ?
{1,} możemy zapisać za pomocą +
{0,} możemy zapisać za pomocą *
Zachłanność
Zachłanność
?
Grupy
Grupy
( )
Grupy
( )+ ( )*
Kotwice
Kotwice
^ - dopasowanie początku tekstu
$ - dopasowanie końca tekstu
Kotwice
Granice
Granice
\b
określa granicę słowa
Granice
\b + unicode
Dziękuję :)
kurs-rabbitmq.pl
RegEx - NobleProg
By Marcin Lewandowski
RegEx - NobleProg
- 411