Grupy przechwytujące, odwołania wsteczne i podstawianie
Używaj nawiasów do przechwytywania fragmentów dopasowania i ponownie wykorzystuj je za pomocą odwołań wstecznych, aby tworzyć zaawansowane dopasowania i podstawienia tekstu.
Grupy przechwytujące, odwołania wsteczne i podstawianie to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 4 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ą grupy przechwytujące?
Nawiasy ( ) tworzą grupę przechwytującą, która zapamiętuje dopasowany tekst, aby można było odwołać się do niego później.
echo "2026-05-29" | grep -E "([0-9]{4})-([0-9]{2})-([0-9]{2})"Numerowanie grup
Grupy są numerowane od lewej do prawej, zgodnie z położeniem nawiasu otwierającego. Grupa 1 to pierwszy znak (, grupa 2 — drugi, i tak dalej.
# (year)(month)(day)
# group 1 = year, 2 = month, 3 = dayOdwołania wsteczne podczas dopasowywania
Odwołanie wsteczne, takie jak \1, dopasowuje TEN SAM tekst, który przechwyciła wcześniejsza grupa. Doskonale nadaje się do znajdowania duplikatów.
echo "hello world world" | grep -E "(\w+) \1"Wykrywanie powtórzonych słów
Wzorzec (\w+) \1 wyszukuje słowo występujące bezpośrednio po sobie, co jest częstą literówką.
echo "the the cat sat" | grep -oE "(\w+) \1"Grupy przechwytujące w sed
W podstawieniach sed przechwycone grupy są ponownie używane w tekście zastępczym jako \1, \2. Proszę użyć -E dla rozszerzonych wyrażeń regularnych.
echo "2026-05-29" | sed -E "s|([0-9]{4})-([0-9]{2})-([0-9]{2})|\3/\2/\1|"Zamiana pól
Można przechwycić dwa pola i zmienić ich kolejność w tekście zastępczym, aby przekształcić format danych.
echo "Doe, John" | sed -E "s/(\w+), (\w+)/\2 \1/"Koncepcja grup nieprzechwytujących
Czasami grupuje się elementy wyłącznie po to, aby zastosować kwantyfikator, a nie przechwytywać tekst. W PCRE można użyć zapisu (?:...), aby uniknąć numerowania.
# PCRE only (grep -P):
echo "abcabc" | grep -P "(?:abc){2}"Alternatywa wewnątrz grup
Można łączyć grupy za pomocą alternatywy |, aby dopasować jedną z kilku opcji i nadal przechwycić wynik.
echo "cat dog fish" | grep -oE "(cat|dog)"Kwantyfikacja grupy
Kwantyfikatory można stosować do całej grupy, aby powtarzać wzorzec. (ab)+ dopasowuje co najmniej jedną sekwencję ab.
echo "ababab" | grep -oE "(ab)+"Przechwytywanie w awk
awk używa match() wraz z RSTART i RLENGTH do wyodrębniania dopasowanego fragmentu.
echo "id=42" | awk "{ if (match(\$0, /id=[0-9]+/)) print substr(\$0, RSTART, RLENGTH) }"Praktyczne przeformatowywanie
Grupy przechwytujące są szczególnie przydatne podczas przeformatowywania dzienników lub kolumn CSV do nowego układu w jednym przebiegu.
echo "John,30,NYC" | sed -E "s/([^,]+),([^,]+),([^,]+)/Name: \1 Age: \2 City: \3/"Szybkie sprawdzenie
Proszę sprawdzić swoją wiedzę na temat grup przechwytujących.
Podsumowanie
Opanował(a) Pan/Pani grupy przechwytujące:
- Nawiasy przechwytują i numerują dopasowany tekst
- Odwołania wsteczne
\1ponownie dopasowują ten sam tekst - W
sedgrupy można ponownie wykorzystać w podstawieniach do zmiany kolejności pól - Wewnątrz grup można stosować kwantyfikację i alternatywę, aby tworzyć elastyczne wzorce
Często zadawane pytania
Czy lekcja „Grupy przechwytujące, odwołania wsteczne i podstawianie” jest bezpłatna?
Tak — pełny tekst „Grupy przechwytujące, odwołania wsteczne i podstawianie” 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 „Grupy przechwytujące, odwołania wsteczne i podstawianie”?
Używaj nawiasów do przechwytywania fragmentów dopasowania i ponownie wykorzystuj je za pomocą odwołań wstecznych, aby tworzyć zaawansowane dopasowania i podstawienia tekstu. Ć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 4 z 4.
Ile czasu zajmuje lekcja „Grupy przechwytujące, odwołania wsteczne i podstawianie”?
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
- Wprowadzenie do wyrażeń regularnych (regex)
- Zaawansowane użycie grep z wyrażeniami regularnymi
- Łączenie wyrażeń regularnych z sed/awk
- Grupy przechwytujące, odwołania wsteczne i podstawianie