0Pricing
DevOps Bootcamp · Lekcja

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 = day

Odwoł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 \1 ponownie dopasowują ten sam tekst
  • W sed grupy 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

  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