Opanowanie wyrażeń regularnych (regex)
Dowiedzą się Państwo, jaką składnię i możliwości oferują wyrażenia regularne w zaawansowanym dopasowywaniu wzorców.
Opanowanie wyrażeń regularnych (regex) to bezpłatna lekcja Linux Command Line 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 Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Command Line Mastery zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Intro to Regular Expressions
Welcome to Regular Expressions (Regex)! Regex is a powerful mini-language used for pattern matching in text. It's like a super-charged search tool.
You can use Regex to search, replace, and validate specific text patterns in files or command output. Mastering it will make you much more efficient at the command line!
Matching Exact Text
The simplest Regex matches literal characters. This means the pattern will look for the exact sequence of characters you provide.
For example, searching for apple will only find occurrences of "apple".
echo "I have an apple and a pineapple." | grep 'apple'Any Single Character: The Dot (.)
The dot (.) is a special character, called a "metacharacter". It matches any single character, except for a newline. Use it when you don't care what character is in a specific spot.
echo "cat, cot, cut, c@t" | grep 'c.t'Matching Repetition: Quantifiers
Quantifiers let you specify how many times a character or group should appear. These are powerful for flexible matching:
*: Matches zero or more occurrences.+: Matches one or more occurrences.?: Matches zero or one occurrence (makes it optional).
echo "color colour coor" | grep 'colou*r'Specific Choices: Character Classes
Use square brackets ([]) to match any one character from a specified set. This defines specific options for a single position in your pattern.
For example, [aeiou] would match any single vowel.
echo "grey gray" | grep 'gr[ae]y'Defining Ranges in Classes
Inside character classes, you can specify ranges of characters using a hyphen (-). This makes your patterns much shorter and easier to read.
[0-9]: Matches any digit.[a-z]: Matches any lowercase letter.[A-Z]: Matches any uppercase letter.[a-zA-Z]: Matches any letter (case-insensitive).
echo "num1 num2 numA" | grep 'num[0-9]'Excluding Characters: Negation
To match any character that is NOT in a specified set, place a caret (^) as the first character inside the square brackets ([^...]).
echo "apple, banana, 123, !@#" | grep '[^a-z]'Start and End: Anchors
Anchors don't match characters; they match positions. They "anchor" your pattern to the start or end of a line.
^: Matches the beginning of a line.$: Matches the end of a line.
Note: When ^ is used outside of [], it's an anchor, not a negation!
echo -e "start here\n here end\nstart and end" | grep '^start'Putting It All Together
Let's combine some of these concepts. Imagine you want to find lines that start with a capital letter, followed by any number of lowercase letters, and end with a digit.
echo -e "Hello1\nworld2\nAnotherTest3" | grep '^[A-Z][a-z]*[0-9]$'Regex Challenge
Consider the following text:
apple
apples
apply
app
AppleWhich regular expression would match "apple" and "apples", but NOT "apply", "app", or "Apple"?
Recap: Regex Fundamentals
In this lesson, you've taken your first steps into the powerful world of Regular Expressions! We covered:
- Literal matching for exact text.
- The
.metacharacter for any single character. - Quantifiers (
*,+,?) for repetition. - Character classes (
[]) and ranges ([a-z]) for specific sets. - Negation (
[^]) to exclude characters. - Anchors (
^,$) for start and end of lines.
These are the building blocks for creating sophisticated text patterns. Keep practicing!
Często zadawane pytania
Czy lekcja „Opanowanie wyrażeń regularnych (regex)” jest bezpłatna?
Tak — pełny tekst „Opanowanie 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 Mastery, przejdź na CoddyKit PRO. Kurs Linux Command Line Mastery zawiera 4 lekcji w sumie.
Co nauczysz się w „Opanowanie wyrażeń regularnych (regex)”?
Dowiedzą się Państwo, jaką składnię i możliwości oferują wyrażenia regularne w zaawansowanym dopasowywaniu wzorców. Ćwiczysz Linux Command Line 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 Mastery?
Nie wymagamy żadnego doświadczenia. Linux Command Line 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 „Opanowanie 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 Mastery?
Tak. Każda lekcja Linux Command Line 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
- Opanowanie wyrażeń regularnych (regex)
- Zaawansowane wzorce `grep` i `find`
- `xargs` do łączenia poleceń
- Edycja strumieni na dużą skalę za pomocą sed i tr