Wyrażenia regularne (regex) od podstaw — składnia i gotowe wzorce
Jak znaleźć w tekście wszystkie kody pocztowe, sprawdzić format NIP albo zamienić daty z 2026-10-28 na 28.10.2026. Najważniejsze elementy składni regex z przykładami.
Wyrażenie regularne to wzorzec opisujący fragmenty tekstu. Obsługują je niemal wszystkie języki programowania, edytory kodu, arkusze (Google Sheets) i narzędzia wiersza poleceń.
Podstawowe elementy
| Zapis | Znaczenie | Przykład |
|---|---|---|
. | dowolny znak (poza końcem linii) | k.t → kot, kit, k8t |
\d | cyfra | \d\d → 42 |
\w | litera, cyfra lub _ (bez polskich liter!) | |
\s | biały znak (spacja, tabulator) | |
[abc] | jeden ze znaków | [aeiouy] → samogłoska |
[^0-9] | znak spoza zbioru | |
^ $ | początek / koniec tekstu (lub linii) | ^\d+$ → same cyfry |
a|b | alternatywa | tak|nie |
( ) | grupa przechwytująca |
Kwantyfikatory
| Zapis | Ile razy |
|---|---|
* | 0 lub więcej |
+ | 1 lub więcej |
? | 0 lub 1 |
{3} | dokładnie 3 |
{2,4} | od 2 do 4 |
Kwantyfikatory są „zachłanne” — dopasowują jak najwięcej. <.+> w tekście <b>tekst</b> złapie całość. Wersja leniwa <.+?> zatrzyma się na pierwszym >.
Przydatne wzorce
| Co | Wzorzec |
|---|---|
| polski kod pocztowy | \b\d{2}-\d{3}\b |
| NIP z kreskami lub bez | ^\d{3}-?\d{3}-?\d{2}-?\d{2}$ |
| data RRRR-MM-DD | (\d{4})-(\d{2})-(\d{2}) |
| polski numer komórkowy | ^(\+48)?\s?\d{3}\s?\d{3}\s?\d{3}$ |
| podwójne spacje | {2,} |
Wzorzec sprawdza tylko format. Czy NIP lub PESEL ma poprawną sumę kontrolną, sprawdzi dopiero walidator PESEL i NIP.
Zamiana z użyciem grup
Grupy w nawiasach można wstawić w tekście zastępczym jako $1, $2… Zamiana dat z formatu ISO na polski:
szukaj: (\d{4})-(\d{2})-(\d{2}) zamień: $3.$2.$1 2026-10-28 → 28.10.2026
Flagi
g— wszystkie dopasowania, nie tylko pierwsze,i— bez rozróżniania wielkości liter,m—^i$działają na każdą linię,u— tryb Unicode (w JavaScripcie pozwala na\p{L}— dowolna litera, także polska).
Polskie litery
\w i [a-z] nie obejmują liter ą, ć, ę, ł, ń, ó, ś, ź, ż. Użyj [a-ząćęłńóśźż] albo w trybie Unicode \p{L}.
Wzorce przetestujesz na żywo — z podświetleniem dopasowań, grupami i zamianą — w testerze wyrażeń regularnych, który ma też gotowe wzorce na e-mail, kod pocztowy, PESEL i NIP.
Narzędzia do tego poradnika
regexwyrażenia regularneJavaScriptwalidacjawyszukiwanie