0Pricing
JavaScript Academy · Lekcja

Grupy, przechwytywanie i zamiana

Przechwytywanie fragmentów tekstu za pomocą grup, używanie grup nazwanych, iterowanie po wszystkich dopasowaniach oraz bezpieczne zamiany z użyciem odwołań wstecznych lub funkcji

Grupy, przechwytywanie i zamiana to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 2 z 3. 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 JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 3 lekcji w sumie.

Po co grupy?

Cel: Wyodrębnianie i przekształcanie tekstu.

  • Grupy przechwytujące: (...)
  • Grupy nazwane: (?<name>...)
  • matchAll do iterowania po wszystkich wynikach
  • replace z użyciem $1 lub funkcji
Grupy, przechwytywanie i zamiana — ilustracja 1

Grupy numerowane

Za pomocą (...) można przechwytywać fragmenty. Dostęp do nich uzyskuje się przez indeks: m[1], m[2], ...

// Capture YYYY-MM-DD into groups
const r = /(\\d{4})-(\\d{2})-(\\d{2})/;
const m = r.exec("Today: 2025-09-26");
if (m) {
  console.log("year:", m[1], "month:", m[2], "day:", m[3]);
} else {
  console.log("no match");
}
Grupy, przechwytywanie i zamiana — ilustracja 2

Grupy nazwane

Grupy nazwane dodają czytelne klucze dostępne przez m.groups.name.

// Named groups make code clearer
const rx = /(?<y>\\d{4})-(?<m>\\d{2})-(?<d>\\d{2})/;
const hit = rx.exec("Release 2024-01-05");
if (hit) {
  console.log("y:", hit.groups.y, "m:", hit.groups.m, "d:", hit.groups.d);
}
Grupy, przechwytywanie i zamiana — ilustracja 3

Iterowanie po dopasowaniach

matchAll zwraca iterator; należy używać go razem z g, aby przejść po każdym dopasowaniu i odczytać grupy.

// matchAll with the g flag to get every match and groups
const text = "IDs: A-12, B-7, C-300";
const pattern = /([A-Z])-(\\d+)/g;

for (const match of text.matchAll(pattern)) {
  console.log("letter:", match[1], "num:", match[2]);
}
Grupy, przechwytywanie i zamiana — ilustracja 4

Zastępowanie z użyciem grup

replace może używać $1, $2 lub funkcji callback do tworzenia nowego tekstu.

// Replace order: "2025-09-26" -> "26/09/2025"
const date = "2025-09-26";

// With backreferences
const swapped1 = date.replace(/(\\d{4})-(\\d{2})-(\\d{2})/, "$3/$2/$1");
console.log("swap1:", swapped1);

// With a function for more control
const swapped2 = date.replace(/(?<y>\\d{4})-(?<m>\\d{2})-(?<d>\\d{2})/, function (_all, _y, _m, _d, groups) {
  return groups.d + "/" + groups.m + "/" + groups.y;
});
console.log("swap2:", swapped2);
Grupy, przechwytywanie i zamiana — ilustracja 5

Wskazówki i pułapki

Wskazówki:

  • Należy dodać g, gdy potrzebne są wszystkie dopasowania (i używać matchAll).
  • Dla większej czytelności warto preferować grupy nazwane.
  • Wzorce powinny być krótkie; należy je testować na krótkich przykładowych ciągach.
Grupy, przechwytywanie i zamiana — ilustracja 6

Quiz: podstawy matchAll

Szybkie sprawdzenie: iterowanie po wszystkich dopasowaniach z grupami.

Grupy, przechwytywanie i zamiana — ilustracja 7

Podsumowanie

Podsumowanie: Należy przechwytywać fragmenty za pomocą (...), używać grup nazwanych dla większej czytelności, iterować po wszystkich dopasowaniach za pomocą matchAll oraz przekształcać tekst przy użyciu replace i odwołań wstecznych lub funkcji callback.

Grupy, przechwytywanie i zamiana — ilustracja 8

Często zadawane pytania

Czy lekcja „Grupy, przechwytywanie i zamiana” jest bezpłatna?

Tak — pełny tekst „Grupy, przechwytywanie i zamiana” 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 JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Grupy, przechwytywanie i zamiana”?

Przechwytywanie fragmentów tekstu za pomocą grup, używanie grup nazwanych, iterowanie po wszystkich dopasowaniach oraz bezpieczne zamiany z użyciem odwołań wstecznych lub funkcji Ćwiczysz JavaScript Academy 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ąć JavaScript Academy?

Nie wymagamy żadnego doświadczenia. JavaScript Academy 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 2 z 3.

Ile czasu zajmuje lekcja „Grupy, przechwytywanie i zamiana”?

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 JavaScript Academy?

Tak. Każda lekcja JavaScript Academy 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. Podstawy wyrażeń regularnych — literały, test, kotwice i flagi
  2. Grupy, przechwytywanie i zamiana
  3. Walidacja i drobne pułapki
← Powrót do JavaScript Academy