0Pricing
DevOps Bootcamp · Lekcja

Wprowadzenie do wyrażeń regularnych (regex)

Pozna Pan/Pani składnię i podstawowe pojęcia wyrażeń regularnych, umożliwiających zaawansowane dopasowywanie wzorców tekstowych.

Wprowadzenie do wyrażeń regularnych (regex) to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Czym są wyrażenia regularne?

Wyrażenia regularne, często określane skrótem Regex, to zaawansowane wzorce używane do wyszukiwania i modyfikowania tekstu.

Można myśleć o nich jak o niezwykle rozbudowanych wzorcach wyszukiwania, które potrafią dopasowywać określone sekwencje, znaki, a nawet pozycje w tekście.

Są powszechnie używane w programowaniu, skryptach i narzędziach wiersza poleceń systemu Linux, takich jak grep, sed i awk.

Dopasowywanie znaków dosłownych

Najprostsze wyrażenie regularne dopasowuje dokładne, dosłowne znaki. Jeśli wyszukasz „apple”, znajdzie dokładnie „apple”.

Użyjmy polecenia grep (Global Regular Expression Print), aby zademonstrować to podstawowe dopasowanie.

echo "apple" > fruits.txt
echo "banana" >> fruits.txt
echo "pineapple" >> fruits.txt
grep "apple" fruits.txt
rm fruits.txt

Kropka: dowolny pojedynczy znak

Kropka (.) to znak specjalny, który dopasowuje dowolny pojedynczy znak z wyjątkiem znaku nowej linii.

Działa jak symbol wieloznaczny dla jednej pozycji. Na przykład c.t dopasuje „cat”, „cot” lub „cut”.

echo "cat" > words.txt
echo "cot" >> words.txt
echo "cut" >> words.txt
echo "coat" >> words.txt
grep "c.t" words.txt
rm words.txt

Gwiazdka: zero lub więcej (*)

Gwiazdka (*) to kwantyfikator, który dopasowuje zero lub więcej wystąpień bezpośrednio poprzedzającego ją znaku lub grupy.

Na przykład colou*r dopasuje „color” (zero znaków „u”) oraz „colour” (jeden znak „u”).

echo "color" > spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
echo "cold" >> spellings.txt
grep "colou*r" spellings.txt
rm spellings.txt

Znak plus: jeden lub więcej (+)

Znak plus (+) dopasowuje jedno lub więcej wystąpień poprzedzającego go znaku lub grupy.

W przeciwieństwie do * element musi wystąpić co najmniej raz. Zatem go+gle dopasuje „google” i „gooogle”, ale nie „ggle”.

Uwaga: Aby znaki +, ? i {} działały bezpośrednio z grep, często trzeba użyć opcji -E dla rozszerzonych wyrażeń regularnych.

echo "google" > search.txt
echo "goooogle" >> search.txt
echo "ggle" >> search.txt
grep -E "go+gle" search.txt
rm search.txt

Znak zapytania: zero lub jeden (?)

Znak zapytania (?) dopasowuje zero lub jedno wystąpienie poprzedzającego go znaku lub grupy.

Sprawia, że znak staje się opcjonalny. Na przykład colou?r dopasuje „color” (zero znaków „u”) oraz „colour” (jeden znak „u”).

echo "color" >> spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
grep -E "colou?r" spellings.txt
rm spellings.txt

Kotwice: początek (^) i koniec ($)

Kotwice nie dopasowują znaków — dopasowują określone pozycje w tekście.

  • ^ dopasowuje początek wiersza.
  • $ dopasowuje koniec wiersza.

Przykład: ^apple dopasuje „apple” tylko wtedy, gdy znajduje się ono na początku wiersza. apple$ dopasuje „apple” tylko wtedy, gdy znajduje się ono na końcu.

echo "apple pie" > menu.txt
echo "fresh apple" >> menu.txt
echo "apple" >> menu.txt
grep -E "^apple" menu.txt
grep -E "apple$" menu.txt
rm menu.txt

Klasy znaków: nawiasy kwadratowe ([])

Nawiasy kwadratowe ([]) definiują klasę znaków, dopasowując dowolny pojedynczy znak należący do danego zbioru.

  • [aeiou] dopasowuje dowolną pojedynczą samogłoskę.
  • [0-9] dopasowuje dowolną pojedynczą cyfrę.
  • [a-zA-Z] dopasowuje dowolną pojedynczą literę.

Klasy można również negować za pomocą [^...]. Na przykład [^aeiou] dopasowuje dowolny znak, który NIE jest samogłoską.

echo "cat" > animals.txt
echo "bat" >> animals.txt
echo "rat" >> animals.txt
echo "cot" >> animals.txt
grep -E "[cb]at" animals.txt
grep -E "[^cbr]at" animals.txt
rm animals.txt

Kwantyfikatory: nawiasy klamrowe ({})

Nawiasy klamrowe ({}) to kwantyfikatory określające dokładną liczbę powtórzeń poprzedzającego je znaku lub grupy.

  • a{3} dopasowuje „aaa”
  • a{2,} dopasowuje „aa”, „aaa”, „aaaa” itd. (co najmniej 2)
  • a{2,4} dopasowuje „aa”, „aaa”, „aaaa” (od 2 do 4)

Pamiętaj, aby dla tych kwantyfikatorów używać grep -E.

echo "helllo" > greetings.txt
echo "hello" >> greetings.txt
echo "helo" >> greetings.txt
grep -E "hel{2,3}o" greetings.txt
rm greetings.txt

Szybki test wyrażeń regularnych

Rozważ następujące ciągi:

  • banana
  • banaana
  • banaanana
  • bna

Które wyrażenie regularne dopasuje wyłącznie „banana” i „banaana”?

Podsumowanie podstaw wyrażeń regularnych

Opanował(a) Pan(i) podstawy wyrażeń regularnych!

  • Wyrażenia regularne używają wzorców do wyszukiwania i przetwarzania tekstu.
  • Znaki dosłowne dopasowują same siebie.
  • Znaki specjalne, takie jak ., *, +, ?, ^, $, [] i {}, zapewniają zaawansowane możliwości dopasowywania.

W następnej części zastosuje Pan(i) te wzorce do zaawansowanego wyszukiwania tekstu za pomocą polecenia grep i jego różnych opcji.

Często zadawane pytania

Czy lekcja „Wprowadzenie do wyrażeń regularnych (regex)” jest bezpłatna?

Tak — pełny tekst „Wprowadzenie do wyrażeń regularnych (regex)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Wprowadzenie do wyrażeń regularnych (regex)”?

Pozna Pan/Pani składnię i podstawowe pojęcia wyrażeń regularnych, umożliwiających zaawansowane dopasowywanie wzorców tekstowych. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Wprowadzenie do wyrażeń regularnych (regex)”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wprowadzenie do wyrażeń regularnych (regex)
  2. Zaawansowane użycie grep z wyrażeniami regularnymi
  3. Łączenie wyrażeń regularnych z sed/awk
  4. Grupy przechwytujące, odwołania wsteczne i podstawianie
← Powrót do DevOps Bootcamp