Testuj wyrażenia regularne z podświetlaniem dopasowań w czasie rzeczywistym, walidacją wzorców i wyjaśnieniami powszechnych symboli regex. Zapisuj i ponownie używaj często używanych wzorców z niestandardowymi etykietami.
Wprowadź wzorzec i tekst do testowania, aby zobaczyć wyniki
Wprowadź wzorzec i tekst do testowania, aby zobaczyć wyniki
Brak zapisanych wzorców
.
Dopasowuje dowolny znak z wyjątkiem nowej linii\d
Dopasowuje dowolną cyfrę (0-9)\D
Dopasowuje dowolny znak niebędący cyfrą\w
Dopasowuje dowolny znak słowa (a-z, A-Z, 0-9, _)\W
Dopasowuje dowolny znak niebędący znakiem słowa\s
Dopasowuje dowolny znak białego miejsca\S
Dopasowuje dowolny znak niebędący białym miejscem^
Dopasowuje początek linii$
Dopasowuje koniec linii*
Dopasowuje 0 lub więcej poprzedzających znaków+
Dopasowuje 1 lub więcej poprzedzających znaków?
Dopasowuje 0 lub 1 poprzedzającego znaku{n}
Dopasowuje dokładnie n poprzedzających znaków{n,}
Dopasowuje co najmniej n poprzedzających znaków{n,m}
Dopasowuje od n do m poprzedzających znaków[abc]
Dopasowuje dowolny z znaków w nawiasach[^abc]
Dopasowuje dowolny znak niebędący w nawiasach(abc)
Grupuje wiele tokenów razem i przechwytuje dopasowaniea|b
Dopasowuje a lub b\b
Dopasowuje pozycję granicy słowaTester wzorów wyrażeń regularnych (regex) to niezbędne narzędzie dla programistów, analityków danych i każdego, kto pracuje z przetwarzaniem tekstu. Ten kompleksowy walidator wzorów regex pozwala na tworzenie, testowanie i udoskonalanie wyrażeń regularnych w czasie rzeczywistym, zapewniając natychmiastową wizualną informację zwrotną na temat dopasowań wzorów. Niezależnie od tego, czy walidujesz adresy e-mail, analizujesz pliki dzienników, czy wyciągasz konkretne dane z tekstu, nasz tester regex sprawia, że proces tworzenia i debugowania jest szybszy i bardziej intuicyjny.
Wyrażenia regularne to potężne sekwencje dopasowujące wzory, które umożliwiają zaawansowane wyszukiwanie tekstu, walidację i manipulację. Jednak ich składnia może być skomplikowana i trudna do opanowania. Ten tester wzorów regex upraszcza ten proces, podświetlając dopasowania w miarę pisania, walidując składnię wzoru i pozwalając na zapisanie często używanych wzorów do przyszłego użytku.
Korzystanie z naszego walidatora wzorów regex jest proste i intuicyjne. Postępuj zgodnie z tymi krokami, aby rozpocząć:
Wprowadź Wzór Wyrażenia Regularnego: Wpisz swój wzór regex w wyznaczonym polu wejściowym. Narzędzie waliduje twój wzór w czasie rzeczywistym, informując o wszelkich błędach składniowych.
Wybierz Flagi Regex: Wybierz odpowiednie flagi dla swojego wzoru:
g
(Globalna): Znajdź wszystkie dopasowania, zamiast zatrzymywać się po pierwszym dopasowaniui
(Nieczuły na wielkość liter): Uczyń wzór nieczułym na wielkość literm
(Wielowierszowy): Uczyń ^
i $
dopasowywać początek/koniec każdego wierszaWprowadź Tekst Testowy: Wprowadź tekst, który chcesz przetestować w odniesieniu do swojego wzoru w obszarze tekstu testowego.
Zobacz Wyniki w Czasie Rzeczywistym: W miarę pisania narzędzie automatycznie:
Zapisz Użyteczne Wzory: Dla wzorów, które używasz często:
Kopiuj Wyniki: Użyj przycisku "Kopiuj Dopasowania", aby skopiować cały dopasowany tekst do schowka do użycia w innych aplikacjach.
Interfejs jest podzielony na dwa główne panele: panel wejściowy, w którym wprowadzasz swój wzór i tekst testowy, oraz panel wyników, który wyświetla dopasowania i informacje o wzorze.
Wyrażenia regularne używają specjalnych znaków i sekwencji do definiowania wzorów wyszukiwania. Oto przewodnik po podstawowych symbolach regex obsługiwanych przez nasze narzędzie:
Symbol | Opis | Przykład | Dopasowuje |
---|---|---|---|
. | Dopasowuje dowolny znak z wyjątkiem nowej linii | a.c | "abc", "adc", "a1c" itp. |
\d | Dopasowuje dowolną cyfrę (0-9) | \d{3} | "123", "456", "789" itp. |
\D | Dopasowuje dowolny znak niebędący cyfrą | \D+ | "abc", "xyz" itp. |
\w | Dopasowuje dowolny znak alfanumeryczny (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123" itp. |
\W | Dopasowuje dowolny znak niealfanumeryczny | \W+ | "!@#", " + " itp. |
\s | Dopasowuje dowolny znak biały | a\sb | "a b", "a\tb" itp. |
\S | Dopasowuje dowolny znak niebędący białym | \S+ | "abc", "123" itp. |
Symbol | Opis | Przykład | Dopasowuje |
---|---|---|---|
^ | Dopasowuje początek linii | ^abc | "abc" na początku linii |
$ | Dopasowuje koniec linii | abc$ | "abc" na końcu linii |
\b | Dopasowuje granicę wyrazu | \bword\b | "word" jako całe słowo |
Symbol | Opis | Przykład | Dopasowuje |
---|---|---|---|
* | Dopasowuje 0 lub więcej z poprzedzającego znaku | a*b | "b", "ab", "aab" itp. |
+ | Dopasowuje 1 lub więcej z poprzedzającego znaku | a+b | "ab", "aab", "aaab" itp. |
? | Dopasowuje 0 lub 1 z poprzedzającego znaku | colou?r | "color", "colour" |
{n} | Dopasowuje dokładnie n z poprzedzającego znaku | a{3} | "aaa" |
{n,} | Dopasowuje co najmniej n z poprzedzającego znaku | a{2,} | "aa", "aaa", "aaaa" itp. |
{n,m} | Dopasowuje od n do m z poprzedzającego znaku | a{2,4} | "aa", "aaa", "aaaa" |
Symbol | Opis | Przykład | Dopasowuje |
---|---|---|---|
[abc] | Dopasowuje dowolny z znaków w nawiasach | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Dopasowuje dowolny znak nie znajdujący się w nawiasach | [^aeiou] | Dowolny znak oprócz "a", "e", "i", "o", "u" |
[a-z] | Dopasowuje dowolny znak w zakresie | [a-z] | Dowolna mała litera |
Symbol | Opis | Przykład | Dopasowuje |
---|---|---|---|
(abc) | Grupuje wiele tokenów razem i przechwytuje dopasowanie | (abc)+ | "abc", "abcabc" itp. |
a|b | Dopasowuje albo a, albo b | cat|dog | "cat", "dog" |
Gdy opanujesz podstawy, możesz tworzyć bardziej skomplikowane wzory, aby rozwiązywać złożone wyzwania przetwarzania tekstu:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Ten wzór waliduje adresy e-mail, zapewniając, że przestrzegają standardowego formatu: nazwa_użytkownika@domena.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Ten wzór waliduje URL, w tym te z lub bez protokołu http/https.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Ten wzór dopasowuje numery telefonów w USA w różnych formatach: (123) 456-7890, 123-456-7890 lub 1234567890.
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
Ten wzór waliduje daty w formacie RRRR-MM-DD, z podstawową walidacją dla zakresów miesięcy i dni.
Assercje lookahead i lookbehind pozwalają na dopasowywanie wzorów tylko wtedy, gdy są one poprzedzone lub następne przez inny wzór:
a(?=b)
dopasowuje "a" tylko wtedy, gdy jest następnie "b"a(?!b)
dopasowuje "a" tylko wtedy, gdy nie jest następnie "b"(?<=a)b
dopasowuje "b" tylko wtedy, gdy jest poprzedzone przez "a"(?<!a)b
dopasowuje "b" tylko wtedy, gdy nie jest poprzedzone przez "a"Nasz tester regex obsługuje różne flagi, które modyfikują sposób dopasowywania wzorów:
^
i $
dopasowywać początek/koniec każdego wierszaWyrażenia regularne mają liczne praktyczne zastosowania w różnych dziedzinach:
Walidacja Formularzy: Upewnij się, że dane wprowadzone przez użytkownika pasują do wymaganych formatów:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
Analiza HTML: Wyciągaj konkretne elementy lub atrybuty:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Analiza Plików Dzienników: Wyciągaj informacje z wpisów dziennika:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
ERROR: .*
Analiza CSV: Przetwarzaj wartości oddzielone przecinkami z potencjalnymi cytowanymi polami:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Znajdź i Zastąp: Zidentyfikuj wzory do zastąpienia:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Ekstrakcja Treści: Wyciągaj konkretne informacje z nieustrukturyzowanego tekstu:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
\$\d+(?:\.\d{2})?
Podświetlanie Składni: Zidentyfikuj konstrukcje językowe:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Refaktoryzacja Kodu: Znajdź wzory, które wymagają aktualizacji:
\.oldMethod\(
eval\(
Nasz tester wzorów regex zawiera system zarządzania wzorami, który pozwala na zapisywanie i ponowne używanie często używanych wyrażeń:
Rozważ zapisanie wzorów, które:
Podczas zapisywania wzorów używaj opisowych etykiet, które:
Organizuj swoje zapisane wzory według:
Chociaż nasze narzędzie nie obsługuje bezpośrednio udostępniania wzorów między użytkownikami, możesz:
Nawet doświadczeni programiści napotykają wyzwania związane z wyrażeniami regularnymi. Oto rozwiązania dla typowych problemów:
Jeśli twój wzór pokazuje błąd walidacji:
Jeśli twój regex jest wolny lub powoduje opóźnienia w przeglądarce:
(a+)+
)Jeśli twój wzór dopasowuje niepożądany tekst:
^
i $
), aby dopasować całe ciągi\b
) tam, gdzie to odpowiednieJeśli twój wzór nie dopasowuje oczekiwanego tekstu:
i
)Chociaż regex jest potężny, nie zawsze jest najlepszym rozwiązaniem dla każdego zadania przetwarzania tekstu:
Dla prostych operacji tekstowych, natywne metody łańcuchowe są często jaśniejsze i bardziej wydajne:
String.indexOf()
do znajdowania podciągówString.startsWith()
i String.endsWith()
do sprawdzania granic łańcuchaString.split()
do podstawowej tokenizacjiDla ustrukturyzowanych formatów danych, dedykowane parsery są bardziej solidne:
Dla rozumienia znaczenia tekstu, a nie tylko wzorów:
Rozważ alternatywy dla regex, gdy:
Wyrażenie regularne (regex) to sekwencja znaków, która definiuje wzór wyszukiwania. Wzory te mogą być używane do wyszukiwania ciągów, dopasowywania i operacji manipulacji tekstem.
Tester wzorów regex pomaga w opracowywaniu i debugowaniu wyrażeń regularnych, zapewniając natychmiastową wizualną informację zwrotną na temat dopasowań, walidując składnię wzoru i pozwalając na eksperymentowanie z różnymi wzorami i flagami bez konieczności implementowania ich w kodzie.
Aby dopasować dosłowne znaki specjalne, które zazwyczaj mają specjalne znaczenie w regex, musisz je escape'ować za pomocą ukośnika. Na przykład, aby dopasować dosłowną kropkę, użyj \.
zamiast po prostu .
.
.*
a .*?
w wzorze regex?.*
to chciwy kwalifikator, który dopasowuje jak najwięcej znaków, podczas gdy .*?
to leniwy (niechciwy) kwalifikator, który dopasowuje jak najmniej znaków. To rozróżnienie jest ważne, gdy chcesz znaleźć najkrótsze dopasowanie, a nie najdłuższe.
Chociaż podstawowa składnia regex jest podobna w wielu językach, istnieją subtelne różnice w implementacji. Nasz tester używa silnika regex JavaScript, który jest zgodny z wieloma językami webowymi, ale może mieć różnice w porównaniu do regex w językach takich jak Python, Java czy Perl.
Aby zwalidować, że cały ciąg pasuje do wzoru, użyj kotwicy ^
na początku i kotwicy $
na końcu swojego regexu. Na przykład, ^[0-9]+$
dopasuje tylko ciągi składające się wyłącznie z cyfr.
Grupy przechwytujące, tworzone za pomocą nawiasów ()
, pozwalają na wyodrębnienie konkretnych części dopasowanego tekstu. W naszym testerze możesz zobaczyć wszystkie dopasowania, w tym przechwycone grupy. W językach programowania zazwyczaj możesz uzyskać dostęp do tych przechwyceń, indeksując wynik dopasowania.
Aby poprawić wydajność regex: bądź specyficzny z klasami znaków, unikaj niepotrzebnych grup przechwytujących (używaj grup nieprzechwytujących (?:...)
, gdy to możliwe), ogranicz użycie lookaheadów/lookbehindów, i unikaj katastrofalnych wzorów backtrackingowych, takich jak zagnieżdżone kwalifikatory.
Typowe błędy obejmują: brak escape'owania znaków specjalnych, tworzenie wzorów, które są zbyt chciwe, zapominanie o kotwicach wzorów (z ^
i $
), oraz pisanie zbyt skomplikowanych wyrażeń, które są trudne do utrzymania.
Wyrażenia regularne nie są dobrze przystosowane do analizowania zagnieżdżonych struktur, takich jak HTML czy XML. Chociaż możesz stworzyć wzory regex do prostego dopasowywania HTML, ogólnie lepiej jest używać dedykowanego parsera HTML do przetwarzania złożonego HTML.
Wypróbuj nasz tester wzorów regex już dziś, aby uprościć swoje zadania przetwarzania tekstu, walidować formaty wejściowe i wyciągać znaczące dane z nieustrukturyzowanego tekstu. Niezależnie od tego, czy jesteś początkującym uczącym się podstaw wyrażeń regularnych, czy doświadczonym programistą pracującym nad złożonym dopasowaniem wzorów, nasze narzędzie zapewnia funkcje, których potrzebujesz, aby efektywnie tworzyć, testować i udoskonalać swoje wzory regex.
Odkryj więcej narzędzi, które mogą być przydatne dla Twojego przepływu pracy