Generator stringów z regex — twórz testowe dane online
Generuj przykładowe stringi pasujące do podanego wyrażenia regularnego. Idealne do testowania walidacji. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Wygenerowano
unikalne stringi zweryfikowane przez PCRE
Najdłuższy
limit 64 znaków
Próby silnika
losowania w bieżącym przebiegu
Pełne dopasowanie
kandydat musi pokryć cały wzorzec
Walidacja
każdy kandydat testowany tym samym wzorcem
| Konstrukcja regex | Jak silnik ją generuje |
|---|---|
| Literały | znaki spoza metaznaków (np. abc, @, -) wypisywane 1:1 w tej samej kolejności |
| Kropka . | losowy znak z puli a-z 0-9 („dot” z kodu silnika) |
| Klasy znaków [a-z] | losowanie jednego znaku; zakresy typu A-Z rozwiązywane po kodach ASCII |
| Klasy negowane [^…] | znak drukowalny ASCII (33-126), który nie występuje w podanej klasie |
| Skróty \d \D \w \W \s \S | pule z kodu: \d → 0-9, \w → a-z A-Z 0-9 _, \s → spacja, negacje z własnych pul |
| Escapes \t \n \r i \. \- itd. | znaki kontrolne wypisywane dosłownie, escaped metaznak staje się literałem |
| Kwantyfikatory ? * + {m,n} | odczytane z wzorca (gwiazdka/plus limitowane do 8 powtórzeń, preferencja krótszych wyników; leniwy ? po kwantyfikatorze ignorowany) |
| Grupy (…) i alternatywa | | losowy wybór jednej gałęzi; grupy nieschwycające (?:…) i flagi inline (?i:…) obsługiwane jak zwykłe grupy |
| Kotwice ^ i $ | pomijane przy losowaniu — używane dopiero przy weryfikacji pełnego dopasowania |
| Flagi /imsxu itp. | rozdzielane od wzorca (np. /abc/i) i filtrowane do bezpiecznego zbioru PHP PCRE |
- Lookaround —
(?=…),(?!…),(?<=…),(?<!…). - Odwołania wsteczne —
\1,(?P=nazwa). - Warunki i rekurencja —
(?(1)…),(?R). - Klasy POSIX i Unicode —
[[:alpha:]],\p{L}.
Wzorce z tymi konstrukcjami nadal dostaniesz sprawdzone — po prostu generator może nie znaleźć dopasowania w limicie prób, a wtedy zobaczysz komunikat zamiast wyniku.
| Zastosowanie | Wzorzec | Przykładowy string |
|---|---|---|
| Identyfikator użytkownika | ^(?:[A-Z]{2}-)?[a-z][a-z0-9_]{2,11}$ | wbbb |
| Kod produktu | [A-Z]{2}-[0-9]{4} | OO-4444 |
| Numer seryjny | \d{3}-\d{2}-\d{4} | 000-88-6666 |
| Hash heksadecymalny (8 znaków) | [A-Fa-f0-9]{8} | EEEEEEEE |
| Rzeczownik z liczbą mnogą | (cat|dog|bird)s? | dogs |
| Adres e-mail (prosty) | [a-z0-9_]+@[a-z]+\.com | [email protected] |
| Cena w złotych | \d+\.\d{2} | 5.77 |
| Data ISO 8601 | \d{4}-\d{2}-\d{2} | 6666-33-99 |
Pule znaków z kodu: \d → 0-9, \w → a-z A-Z 0-9 _, . → a-z 0-9, \s → spacja, a klasy z zakresem (np. [A-Z]) losują z całego zakresu. Kwantyfikatory * i + są ograniczone do 8 powtórzeń, a generator preferuje krótsze wyniki.
Warto wiedzieć — generowanie stringów z regex
Jak działa generator
Silnik przechodzi przez wzorzec znak po znaku i losowo rozwija każdy element: klasy znaków, skróty (\d, \w), kwantyfikatory i gałęzie alternatyw. Każdy kandydat wraca do PCRE (preg_match) — zostają tylko stringi, które rzeczywiście pasują.
Pełne dopasowanie
Opcja „Pełne dopasowanie” sprawdza kandydata dodatkowo wzorcem zakotwiczonym ^…$ — przydatne, gdy regex opisuje całą wartość pola (np. walidacja loginu), a nie tylko fragment tekstu. Bez kotwic wystarczy, że string zawiera dopasowanie w środku.
Do czego to się przydaje
Dane testowe dla formularzy i fixture'ów, przykłady dla walidatorów haseł, loginów czy kodów, dokumentowanie składni w dokumentacji API oraz szybkie sprawdzenie, co dokładnie dopuszcza napisany przez Ciebie wzorzec — czasem wynik zaskakuje bardziej niż podgląd regexa.
Limity i praktyka
Narzędzie zwraca maksymalnie 20 unikalnych stringów w limicie prób (do 500), a długość każdą wartość pilnuje pola „Maksymalna długość”. Wyniki są losowe — każde kliknięcie „Przetwórz” daje świeżą próbkę, a eksport .txt zawiera dokładnie to, co widzisz.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator stringów z wyrażeń regularnych – odwracanie logiki regex
Wyrażenia regularne (regex, od ang. regular expressions) to potężne narzędzie używane przez programistów, administratorów systemów oraz analityków danych do dopasowywania wzorców w tekście, wyszukiwania, zamiany oraz walidacji poprawności danych (np. sprawdzania, czy adres e-mail lub numer telefonu ma prawidłowy format). Standardowy proces polega na podaniu tekstu wejściowego i dopasowaniu go do napisanego wzorca. Istnieje jednak proces odwrotny, niezwykle istotny w inżynierii oprogramowania i automatyzacji testów – **generowanie stringów z wyrażeń regularnych** (ang. regex string generation lub reverse regex). Nasz darmowy generator online pozwala na wprowadzenie dowolnego wzorca regex i automatyczne wygenerowanie losowych ciągów znaków (tekstów, liczb, kodów), które idealnie pasują do zdefiniowanej składni.
Dzięki temu narzędziu błyskawicznie stworzysz realistyczne dane testowe do baz danych (tzw. mock data), przetestujesz poprawność formularzy internetowych oraz sprawdzisz, jak silnik regex radzi sobie ze specyficznymi przypadkami granicznymi.
Zastosowanie generatora regex w testowaniu i rozwoju oprogramowania
Generowanie losowych danych pasujących do określonego formatu to kluczowy element procesu Quality Assurance (QA) oraz tworzenia oprogramowania. Zamiast ręcznie wymyślać dziesiątki przypadków testowych, możesz użyć wzorca regex do wygenerowania tysięcy unikalnych rekordów w kilka sekund. Poniższa tabela przedstawia porównanie najczęstszych zastosowań oraz korzyści płynących z użycia generatora regex:
| Obszar zastosowania | Przykładowy wzorzec regex | Generowane dane (przykład) | Korzyści dla zespołu developerskiego/QA |
|---|---|---|---|
| Testowanie formularzy (E-mail) | [a-z]{5,10}@[a-z]{3,7}\.[a-z]{2,3} |
[email protected], [email protected] |
Automatyczna weryfikacja walidatorów formularzy rejestracyjnych bez używania prawdziwych e-maili. |
| Generowanie kodów pocztowych | \d{2}-\d{3} |
00-950, 53-601, 90-123 |
Szybkie wypełnianie baz danych poprawnie sformatowanymi polskimi kodami pocztowymi. |
| Numery seryjne i klucze | [A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5} |
A5D9K-8F2X1-9LOP4 |
Tworzenie realistycznie wyglądających kluczy licencyjnych lub numerów identyfikacyjnych do testów integracyjnych. |
| Generowanie numerów PESEL | \d{11} |
94081234567, 82031198765 |
Masowe wypełnianie systemów CRM testowymi danymi osobowymi bez naruszania przepisów RODO. |
Jak działa silnik odwracania wyrażeń regularnych?
Większość silników regex analizuje tekst krok po kroku za pomocą maszyn stanów (NFA – Nondeterministic Finite Automaton lub DFA – Deterministic Finite Automaton). Generator stringów z regex działa w odwrotny sposób. Analizuje drzewo składniowe (AST – Abstract Syntax Tree) wyrażenia regularnego, rozbija je na poszczególne tokeny i dla każdego tokenu podejmuje losową decyzję zgodną z jego regułami:
- Klasy znaków (np.
[a-z],\d): Generator losowo wybiera jeden znak ze zdefiniowanego zbioru (np. małą literę lub cyfrę). - Kwantyfikatory (np.
{3,7},*,+): Generator losuje liczbę powtórzeń w określonym przedziale. W przypadku kwantyfikatorów nieskończonych (takich jak*lub+) generator nakłada rozsądny limit górny (np. do 10-20 powtórzeń), aby zapobiec wygenerowaniu zbyt długiego ciągu znaków. - Alternatywy (np.
(czerwony|zielony|niebieski)): Algorytm losuje jedną z podanych w nawiasie opcji. - Kotwice (np.
^,$): Są ignorowane podczas generowania fizycznych znaków, ponieważ określają one pozycję w dopasowaniu, a nie samą zawartość.
Jak korzystać z generatora stringów z regex? Instrukcja krok po kroku
Narzędzie zostało zoptymalizowane pod kątem wygody i szybkości działania. Aby wygenerować tekst pasujący do Twojego wyrażenia:
- Wprowadź wyrażenie regularne: Wpisz swój wzorzec w polu tekstowym (np.
[A-Z]{3}_\d{4}_[a-z]{2}). Pamiętaj, aby nie dodawać ukośników startowych/końcowych (tzw. delimiterów), chyba że wymaga tego konkretny dialekt. - Ustaw liczbę próbek: Określ, ile unikalnych ciągów znaków chcesz wygenerować za jednym razem (domyślnie 5, maksymalnie do 100).
- Kliknij „Generuj”: System przeanalizuje Twój wzorzec i wyświetli listę wygenerowanych ciągów znaków.
- Skopiuj wyniki: Możesz skopiować pojedyncze linijki lub pobrać cały wygenerowany zestaw jako plik tekstowy TXT lub CSV.
Często zadawane pytania (FAQ)
Co to jest generator stringów z regex i jak działa?
Generator stringów z regex to narzędzie, które przetwarza wzorzec wyrażenia regularnego na drzewo składniowe, a następnie przechodzi przez nie krok po kroku, wybierając losowe znaki, alternatywy i powtórzenia zgodnie z regułami zdefiniowanymi w regex. W ten sposób powstaje tekst, który po przepuszczeniu przez walidator danego wyrażenia regularnego zostałby w 100% zaakceptowany.
Czy generator obsługuje wszystkie silniki wyrażeń regularnych (PCRE, JS, Python)?
Nasz kalkulator obsługuje najpopularniejszy standard PCRE (Perl Compatible Regular Expressions), który jest w pełni kompatybilny z implementacjami regex w językach takich jak JavaScript, PHP, Python, Java oraz C#. Obsługiwane są klasy znaków, kwantyfikatory, zakresy, grupy oraz podstawowe alternatywy.
Jak wygenerować losowe dane adresowe lub e-mail za pomocą wyrażenia regularnego?
Aby wygenerować przykładowy adres e-mail, użyj wzorca definiującego nazwę użytkownika, znak małpy, domenę i rozszerzenie, np. [a-zA-Z0-9._%+-]{5,10}@[a-zA-Z0-9.-]{3,8}\.[a-zA-Z]{2,4}. Zmieniając zakresy w nawiasach klamrowych, możesz kontrolować długość generowanych adresów e-mail.
Co to są grupy przechwytujące (capturing groups) i wsteczne referencje (backreferences)?
Grupy przechwytujące wydzielają część wyrażenia w nawiasach okrągłych (...), co pozwala na ich późniejsze wywołanie za pomocą wstecznych referencji (np. \1 lub $1). Nasz zaawansowany generator potrafi zapamiętać wygenerowaną wartość dla danej grupy i wstawić dokładnie ten sam ciąg znaków w miejscu wystąpienia wstecznej referencji, co pozwala na generowanie np. powtarzających się słów lub symetrycznych kodów.
Czy generator obsługuje złożone wyrażenia z wyprzedzaniem (lookahead/lookbehind)?
Asercje lookaround (np. (?=...) lub (?<=...)) służą do sprawdzania warunków bez konsumowania znaków (tzw. dopasowanie o zerowej szerokości). Ze względu na to, że ich odwrócenie generowania jest bardzo trudne obliczeniowo, większość generatorów (w tym nasz) traktuje je w sposób uproszczony lub ignoruje. Do generowania danych zaleca się stosowanie wyrażeń jawnych bez asercji lookaround.