0Pricing
Linux Command Line & Bash Scripting Mastery · 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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery, przejdź na CoddyKit PRO. Kurs Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery 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ąć Linux Command Line & Bash Scripting Mastery?

Nie wymagamy żadnego doświadczenia. Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?

Tak. Każda lekcja Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery