Whiz Tools

Tester wzorców Regex

Kopiuj

Wyniki dopasowania

Wprowadź wzorzec i tekst do testowania, aby zobaczyć wyniki

Zapisz wzorzec

Zapisane wzorce

Brak zapisanych wzorców

Przewodnik po symbolach Regex

.Dopasowuje dowolny znak z wyjątkiem nowej linii
\dDopasowuje dowolną cyfrę (0-9)
\DDopasowuje dowolny znak niebędący cyfrą
\wDopasowuje dowolny znak słowa (a-z, A-Z, 0-9, _)
\WDopasowuje dowolny znak niebędący znakiem słowa
\sDopasowuje dowolny znak białego miejsca
\SDopasowuje 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 dopasowanie
a|bDopasowuje a lub b
\bDopasowuje pozycję granicy słowa

Tester i Walidator Wzorów Wyrażeń Regularnych

Wprowadzenie

Tester 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.

Jak korzystać z Testera Wzorów Wyrażeń Regularnych

Korzystanie z naszego walidatora wzorów regex jest proste i intuicyjne. Postępuj zgodnie z tymi krokami, aby rozpocząć:

  1. 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.

  2. Wybierz Flagi Regex: Wybierz odpowiednie flagi dla swojego wzoru:

    • g (Globalna): Znajdź wszystkie dopasowania, zamiast zatrzymywać się po pierwszym dopasowaniu
    • i (Nieczuły na wielkość liter): Uczyń wzór nieczułym na wielkość liter
    • m (Wielowierszowy): Uczyń ^ i $ dopasowywać początek/koniec każdego wiersza
    • Różne kombinacje tych flag są dostępne w rozwijanym menu
  3. Wprowadź Tekst Testowy: Wprowadź tekst, który chcesz przetestować w odniesieniu do swojego wzoru w obszarze tekstu testowego.

  4. Zobacz Wyniki w Czasie Rzeczywistym: W miarę pisania narzędzie automatycznie:

    • Podświetla wszystkie dopasowania wzoru w teście tekstowym
    • Wyświetla całkowitą liczbę znalezionych dopasowań
    • Wskazuje, czy wzór dopasowuje cały tekst
  5. Zapisz Użyteczne Wzory: Dla wzorów, które używasz często:

    • Wprowadź opisową etykietę dla swojego wzoru
    • Kliknij przycisk "Zapisz"
    • Uzyskaj dostęp do zapisanych wzorów w sekcji "Zapisane Wzory"
  6. 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.

Podstawy Wyrażeń Regularnych

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:

Dopasowywanie Znaków

SymbolOpisPrzykładDopasowuje
.Dopasowuje dowolny znak z wyjątkiem nowej liniia.c"abc", "adc", "a1c" itp.
\dDopasowuje dowolną cyfrę (0-9)\d{3}"123", "456", "789" itp.
\DDopasowuje dowolny znak niebędący cyfrą\D+"abc", "xyz" itp.
\wDopasowuje dowolny znak alfanumeryczny (a-z, A-Z, 0-9, _)\w+"abc123", "test_123" itp.
\WDopasowuje dowolny znak niealfanumeryczny\W+"!@#", " + " itp.
\sDopasowuje dowolny znak białya\sb"a b", "a\tb" itp.
\SDopasowuje dowolny znak niebędący białym\S+"abc", "123" itp.

Kotwice Pozycji

SymbolOpisPrzykładDopasowuje
^Dopasowuje początek linii^abc"abc" na początku linii
$Dopasowuje koniec liniiabc$"abc" na końcu linii
\bDopasowuje granicę wyrazu\bword\b"word" jako całe słowo

Kwalifikatory

SymbolOpisPrzykładDopasowuje
*Dopasowuje 0 lub więcej z poprzedzającego znakua*b"b", "ab", "aab" itp.
+Dopasowuje 1 lub więcej z poprzedzającego znakua+b"ab", "aab", "aaab" itp.
?Dopasowuje 0 lub 1 z poprzedzającego znakucolou?r"color", "colour"
{n}Dopasowuje dokładnie n z poprzedzającego znakua{3}"aaa"
{n,}Dopasowuje co najmniej n z poprzedzającego znakua{2,}"aa", "aaa", "aaaa" itp.
{n,m}Dopasowuje od n do m z poprzedzającego znakua{2,4}"aa", "aaa", "aaaa"

Klasy Znaków

SymbolOpisPrzykładDopasowuje
[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

Grupowanie i Alternacja

SymbolOpisPrzykładDopasowuje
(abc)Grupuje wiele tokenów razem i przechwytuje dopasowanie(abc)+"abc", "abcabc" itp.
a|bDopasowuje albo a, albo bcat|dog"cat", "dog"

Zaawansowane Wzory Regex

Gdy opanujesz podstawy, możesz tworzyć bardziej skomplikowane wzory, aby rozwiązywać złożone wyzwania przetwarzania tekstu:

Walidacja E-maili

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Ten wzór waliduje adresy e-mail, zapewniając, że przestrzegają standardowego formatu: nazwa_użytkownika@domena.tld.

Walidacja URL

^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

Ten wzór waliduje URL, w tym te z lub bez protokołu http/https.

Walidacja Numerów Telefonów (Format USA)

^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$

Ten wzór dopasowuje numery telefonów w USA w różnych formatach: (123) 456-7890, 123-456-7890 lub 1234567890.

Walidacja Dat (RRRR-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

Ten wzór waliduje daty w formacie RRRR-MM-DD, z podstawową walidacją dla zakresów miesięcy i dni.

Lookahead i Lookbehind

Assercje lookahead i lookbehind pozwalają na dopasowywanie wzorów tylko wtedy, gdy są one poprzedzone lub następne przez inny wzór:

  • Pozytywny lookahead: a(?=b) dopasowuje "a" tylko wtedy, gdy jest następnie "b"
  • Negatywny lookahead: a(?!b) dopasowuje "a" tylko wtedy, gdy nie jest następnie "b"
  • Pozytywny lookbehind: (?<=a)b dopasowuje "b" tylko wtedy, gdy jest poprzedzone przez "a"
  • Negatywny lookbehind: (?<!a)b dopasowuje "b" tylko wtedy, gdy nie jest poprzedzone przez "a"

Praca z Flagami Regex

Nasz tester regex obsługuje różne flagi, które modyfikują sposób dopasowywania wzorów:

  • g (Globalna): Znajdź wszystkie dopasowania, zamiast zatrzymywać się po pierwszym dopasowaniu
  • i (Nieczuły na wielkość liter): Uczyń wzór nieczułym na wielkość liter
  • m (Wielowierszowy): Uczyń ^ i $ dopasowywać początek/koniec każdego wiersza
  • Kombinacje: Możesz łączyć flagi, aby uzyskać bardziej złożone wymagania dopasowania

Przykłady Zastosowania Testowania Wzorów Regex

Wyrażenia regularne mają liczne praktyczne zastosowania w różnych dziedzinach:

Rozwój Webowy

  1. Walidacja Formularzy: Upewnij się, że dane wprowadzone przez użytkownika pasują do wymaganych formatów:

    • Adresy e-mail: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
    • Hasła (z wymaganiami dotyczącymi złożoności): ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
    • URL: ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
  2. Analiza HTML: Wyciągaj konkretne elementy lub atrybuty:

    • Znajdź wszystkie tagi obrazków: <img[^>]+src="([^">]+)"
    • Wyciągnij linki: <a[^>]+href="([^">]+)"

Przetwarzanie Danych

  1. Analiza Plików Dzienników: Wyciągaj informacje z wpisów dziennika:

    • Adresy IP: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
    • Znaki czasowe: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    • Komunikaty o błędach: ERROR: .*
  2. Analiza CSV: Przetwarzaj wartości oddzielone przecinkami z potencjalnymi cytowanymi polami:

    • Dopasowanie pola CSV: (?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))

Przetwarzanie Tekstu

  1. Znajdź i Zastąp: Zidentyfikuj wzory do zastąpienia:

    • Usuń tagi HTML: <[^>]*>
    • Formatuj numery telefonów: (\d{3})(\d{3})(\d{4})($1) $2-$3
  2. Ekstrakcja Treści: Wyciągaj konkretne informacje z nieustrukturyzowanego tekstu:

    • Wyciągnij daty: \b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
    • Znajdź wartości pieniężne: \$\d+(?:\.\d{2})?

Programowanie i Kodowanie

  1. Podświetlanie Składni: Zidentyfikuj konstrukcje językowe:

    • Zmienne JavaScript: \b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
    • Definicje funkcji: function\s+([a-zA-Z_$][\w$]*)\s*\(
  2. Refaktoryzacja Kodu: Znajdź wzory, które wymagają aktualizacji:

    • Przestarzałe wywołania API: \.oldMethod\(
    • Niebezpieczne funkcje: eval\(

Zapisywanie i Zarządzanie Wzorami

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ń:

Kiedy Zapisz Wzory

Rozważ zapisanie wzorów, które:

  • Używasz często w różnych projektach
  • Są skomplikowane i trudne do zapamiętania
  • Służą do konkretnych celów walidacji w twojej pracy
  • Udoskonaliłeś po wielu iteracjach

Najlepsze Praktyki dla Etykiet Wzorów

Podczas zapisywania wzorów używaj opisowych etykiet, które:

  • Wskazują cel wzoru (np. "Walidator E-maili")
  • Wspominają o konkretnych formatach (np. "Numer Telefonu USA")
  • Zawierają informacje o wersji, jeśli iterujesz wzory (np. "Walidator URL v2")
  • Są zwięzłe, ale informacyjne

Organizacja Wzorów

Organizuj swoje zapisane wzory według:

  • Funkcji (walidacja, ekstrakcja, zastąpienie)
  • Dziedziny (rozwój webowy, przetwarzanie danych)
  • Złożoności (podstawowe, zaawansowane)
  • Częstości użycia

Udostępnianie Wzorów

Chociaż nasze narzędzie nie obsługuje bezpośrednio udostępniania wzorów między użytkownikami, możesz:

  • Skopiować wzory, aby podzielić się z kolegami
  • Udokumentować swoje wzory w wspólnym repozytorium
  • Zawierać opisy wzorów w dokumentacji projektu

Rozwiązywanie Typowych Problemów z Regex

Nawet doświadczeni programiści napotykają wyzwania związane z wyrażeniami regularnymi. Oto rozwiązania dla typowych problemów:

Błędy Składniowe

Jeśli twój wzór pokazuje błąd walidacji:

  • Sprawdź, czy nie ma niedopasowanych nawiasów, nawiasów kwadratowych lub klamrowych
  • Upewnij się, że znaki specjalne są poprawnie escape'owane za pomocą ukośnika
  • Zweryfikuj, czy kwalifikatory mają poprzedzający znak lub grupę
  • Poszukaj nieprawidłowej składni klasy znaków

Problemy z Wydajnością

Jeśli twój regex jest wolny lub powoduje opóźnienia w przeglądarce:

  • Unikaj nadmiernego użycia zagnieżdżonych kwalifikatorów (np. (a+)+)
  • Bądź ostrożny z lookaheadami i lookbehindami w dużych tekstach
  • Rozważ użycie bardziej specyficznych wzorów zamiast szerokich
  • Podziel skomplikowane wzory na mniejsze, bardziej zarządzalne części

Nieoczekiwane Dopasowania

Jeśli twój wzór dopasowuje niepożądany tekst:

  • Użyj kotwic (^ i $), aby dopasować całe ciągi
  • Uczyń klasy znaków bardziej specyficznymi
  • Dodaj granice wyrazów (\b) tam, gdzie to odpowiednie
  • Użyj negatywnych lookaheadów, aby wykluczyć pewne wzory

Brak Dopasowań

Jeśli twój wzór nie dopasowuje oczekiwanego tekstu:

  • Sprawdź problemy z czułością na wielkość liter (rozważ użycie flagi i)
  • Zweryfikuj, czy znaki specjalne są poprawnie escape'owane
  • Przetestuj swój wzór na uproszczonych przykładach najpierw
  • Upewnij się, że używasz odpowiednich klas znaków

Alternatywy dla Wyrażeń Regularnych

Chociaż regex jest potężny, nie zawsze jest najlepszym rozwiązaniem dla każdego zadania przetwarzania tekstu:

Metody Łańcuchowe

Dla prostych operacji tekstowych, natywne metody łańcuchowe są często jaśniejsze i bardziej wydajne:

  • String.indexOf() do znajdowania podciągów
  • String.startsWith() i String.endsWith() do sprawdzania granic łańcucha
  • String.split() do podstawowej tokenizacji

Specjalistyczne Parsery

Dla ustrukturyzowanych formatów danych, dedykowane parsery są bardziej solidne:

  • Parsery JSON dla danych JSON
  • Parsery XML/HTML dla języków znaczników
  • Parsery CSV dla danych tabelarycznych

Przetwarzanie Języka Naturalnego (NLP)

Dla rozumienia znaczenia tekstu, a nie tylko wzorów:

  • Narzędzia do analizy sentymentu
  • Rozpoznawanie nazwanych jednostek
  • Oznaczanie części mowy

Kiedy Wybrać Alternatywy

Rozważ alternatywy dla regex, gdy:

  • Struktura tekstu jest bardzo regularna i prosta
  • Format ma dostępny ustandaryzowany parser
  • Musisz zrozumieć znaczenie semantyczne
  • Wydajność jest kluczowa dla bardzo dużych tekstów

Najczęściej Zadawane Pytania

Czym jest wyrażenie regularne?

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.

Dlaczego potrzebuję testera wzorów regex?

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.

Jak dopasować dosłowny znak specjalny, taki jak kropka lub gwiazdka?

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 ..

Jaka jest różnica między .* 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.

Czy mogę użyć tego testera regex dla wzorów w dowolnym języku programowania?

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.

Jak mogę zwalidować cały ciąg za pomocą regex?

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.

Czym są grupy przechwytujące i jak ich używać?

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.

Jak mogę uczynić moje wzory regex bardziej wydajnymi?

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.

Jakie są najczęstsze błędy regex, których należy unikać?

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.

Czy regex może obsługiwać zagnieżdżone struktury, takie jak HTML?

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.

Bibliografia

  1. Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
  2. Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
  3. "Wyrażenie regularne." Wikipedia, Wikimedia Foundation, https://pl.wikipedia.org/wiki/Wyra%C5%BCenie_regularne
  4. MDN Web Docs. "Wyrażenia regularne." Mozilla, https://developer.mozilla.org/pl/docs/Web/JavaScript/Guide/Regular_Expressions
  5. RegExr: Ucz się, buduj i testuj RegEx. https://regexr.com/

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.

Opinie