Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Przejdź do głównej treści
Gizke.com
Blog

Tester wyrażeń regularnych

Działa na Twoim urządzeniu. Nic nie jest wysyłane.

Flagi

Popularne wzorce

Tekst testowy

Nie znaleziono dopasowań

Wyjaśnienie

Wpisz wzorzec powyżej, aby zobaczyć rozbicie tego, co robi każda część

Testuj, wyjaśniaj i debuguj wyrażenia regularne JavaScript z podświetlaniem dopasowań na żywo, całkowicie w przeglądarce.

Wyrażenie regularne (regex) to wzorzec używany do dopasowywania, wyszukiwania lub zastępowania tekstu - to samo podstawowe narzędzie, które napędza funkcję znajdź-i-zamień w edytorach kodu, walidację formularzy i parsowanie logów. Ten tester uruchamia natywny silnik wyrażeń regularnych JavaScript bezpośrednio w Twojej przeglądarce: wpisz wzorzec i tekst testowy, a on podświetli każde dopasowanie, rozbije grupy przechwytujące, pokaże podgląd zastąpień i wyjaśni prostym językiem, co robi każda część wzorca. Nic, co wpiszesz, nie jest nigdy nigdzie przesyłane.

Najczęściej zadawane pytania

Jakiego wariantu regex używa to narzędzie?
Wbudowanego silnika wyrażeń regularnych JavaScript (tego stojącego za RegExp i String.prototype.match/replace), ponieważ wszystko tutaj działa po stronie klienta w Twojej przeglądarce, a nie na serwerze. Jest bardzo zbliżony do PCRE, ale ma kilka różnic - na przykład wsparcie dla lookbehind zależy od wersji silnika, a grupy nazwane używają składni (?<nazwa>...).
Dlaczego mój wzorzec dopasowuje się tylko raz?
Domyślnie, bez flagi g (globalna), wyrażenie regularne zatrzymuje się po pierwszym dopasowaniu - odzwierciedla to rzeczywiste zachowanie RegExp.exec() i String.match() w JavaScript. Włącz flagę g powyżej, aby znaleźć każde dopasowanie w tekście testowym, a nie tylko pierwsze.
Jaka jest różnica między (...) a (?:...)?
Oba grupują części wzorca, ale tylko (...) - grupa przechwytująca - zapisuje to, co dopasowała, dzięki czemu możesz się do niej odwołać później (jako $1, $2, ... w zastąpieniu lub na liście grup dopasowania). (?:...) to grupa nieprzechwytująca: grupuje i stosuje kwantyfikatory bez zachowywania dopasowania, co jest przydatne, gdy potrzebujesz grupowania, ale nie zależy Ci na przechwyconym tekście.
Jak działają grupy nazwane i zastąpienia $<nazwa>?
Napisz (?<nazwa>...) zamiast (...), aby przechwycić grupę pod nazwą zamiast tylko numerem. W trybie zastępowania odwołuj się do niej w tekście zastąpienia jako $<nazwa> - na przykład (?<rok>\d{4})-(?<miesiac>\d{2}) zastąpione przez $<miesiac>/$<rok> zmienia kolejność daty bez konieczności zapamiętywania numerów grup.
Jaka jest różnica między kwantyfikatorem zachłannym (greedy) a leniwym (lazy), np. + a +??
Kwantyfikator zachłanny (+, *, {2,4}) dopasowuje jak najwięcej tekstu, a wycofuje się tylko wtedy, gdy jest to konieczne, aby dopasować resztę wzorca. Kwantyfikator leniwy - ten sam symbol, po którym następuje ? - dopasowuje natomiast jak najmniej, rozszerzając się o jeden znak tylko wtedy, gdy jest to potrzebne. Na przykład <.+> względem <a><b> dopasowuje zachłannie cały ciąg <a><b>, podczas gdy <.+?> dopasowuje leniwie tylko <a>.
Co właściwie sprawdzają lookahead i lookbehind, skoro nie konsumują żadnych znaków?
Sprawdzają, czy wzorzec pojawia się bezpośrednio przed lub po bieżącej pozycji, nie włączając go do samego dopasowania - więc (?=...) i (?<=...) sprawdzają w przód/w tył, czy coś musi tam być, natomiast (?!...) i (?<!...) sprawdzają, że czegoś tam być nie może. Dlatego możesz użyć \d+(?=px), aby dopasować liczbę tylko wtedy, gdy następuje po niej „px”, przy czym samo „px” nigdy nie pojawia się w dopasowanym tekście.
Dla programistów: otwórz tę stronę z parametrami `q` (wzorzec) i `text` (tekst testowy) w adresie URL - np. gizke.com/regex?q=\d+&text=There are 42 apples - a oba zostaną automatycznie wstępnie wypełnione. Większość odwiedzających tego nie potrzebuje; służy to do tworzenia bezpośrednich linków do gotowego przykładu.

Udostępnij to narzędzie

BlogO nasKontaktWarunki korzystaniaPolityka prywatności