Przejdź do treści

Tester regex — wyrażenia regularne JavaScript online — Numio

Testuj wyrażenia regularne JavaScript online: podświetlanie meczów na żywo, przechwytywanie i nazwanie grup, wszystkie flagi oraz podgląd zamiany. Powolne wzory zatrzymują się po 1 s.

//g
Flagi
Ściągawka
.
Dowolny znak z wyjątkiem podziału wiersza (użyj flagi s, aby je uwzględnić)
\d \w \s
Cyfra, znak słowny [A-Za-z0-9_], spacja
\D \W \S
Ani cyfra, ani znak słowny, ani spacja
[abc] [^abc]
Jeden z a, b, c / dowolny znak z wyjątkiem a, b, c
[a-z]
Dowolny znak od a do z
^ $
Początek/koniec wprowadzania (każdej linii z flagą m)
\b
Granica słowa
* + ?
0 lub więcej, 1 lub więcej, 0 lub 1
{2,5}
Od 2 do 5 razy (dokładnie {3}, co najmniej {2,})
*? +?
Wersje leniwe: dopasuj jak najmniej
(abc)
Grupa przechwytująca
(?<name>abc)
Nazwana grupa przechwytująca
(?:abc)
Grupa nieprzechwytująca
\1 \k<name>
Powtórz, która grupa 1 / nazwana grupa została dopasowana
a|b
a lub b
(?=a) (?!a)
Po którym następuje a /, po którym nie następuje a
(?<=a) (?<!a)
Poprzedzony a / nie poprzedzony a
\p{L}
Dowolna litera w dowolnym języku (wymaga flagi u lub v)

Używa silnika wyrażeń regularnych JavaScript (ECMAScript) przeglądarki, więc wyniki odpowiadają kodowi JavaScript. Inne silniki, takie jak PCRE, Python lub Java, różnią się pewną składnią. Dopasowywanie działa w tle i zatrzymuje się po 1 sekundzie, aby chronić stronę przed katastrofalnym cofaniem się.

Jak używać

  1. Wpisz wyrażenie regularne i zaznacz potrzebne flagi (g znajdzie wszystkie dopasowania).
  2. Wklej tekst do przetestowania; dopasowania są podświetlane i wyświetlane wraz z indeksami i grupami przechwytywania.
  3. Włącz zastępowanie, aby zobaczyć wynik String.replace z odwołaniami $1 lub $<name>.

Przykład

Wzorzec: (?<user>\w+)@(\w+)\.com  flagi: g
Tekst: alice@example.com, bob@test.com
Dopasowania: alice@example.com (user = alice, 2 = example), bob@test.com
Zastąp ciągiem $<user> at $2 → alice at example, bob at test

Szczegóły i ograniczenia

Wzorce działają z silnikiem JavaScript RegExp wbudowanym w twoją przeglądarkę, więc spojrzenie w tył, nazwane grupy, zmiany właściwości Unicode i flaga d zachowują się dokładnie tak, jak w twoim kodzie. Flaga v pojawia się tylko wtedy, gdy obsługuje ją Twoja przeglądarka.

Dopasowywanie odbywa się w Web Worker na Twoim urządzeniu; nic nie jest przesyłane. Przebieg zostaje zatrzymany po około 1 sekundzie i na liście znajduje się maksymalnie 1000 dopasowań.

FAQ

Dlaczego moje wyrażenie regularne znajduje tylko jedno dopasowanie?

W JavaScript wyrażenie regularne bez flagi g (globalnej) zatrzymuje się przy pierwszym dopasowaniu. Zaznacz g, aby znaleźć wszystkie dopasowania; ten tester następnie wyświetla je wszystkie.

Co to jest katastrofalne cofanie się?

Niektóre wzorce, takie jak (a+)+$ lub (.*)*, w przypadku tekstu, który jest prawie identyczny, mogą zająć wykładniczo czas. To narzędzie uruchamia wyrażenie regularne w osobnym procesie roboczym i zatrzymuje je po 1 sekundzie, dzięki czemu strona pozostaje responsywna i zamiast tego wyświetla błąd.

Czy testowane tutaj wyrażenie regularne będzie działać w Python lub PHP?

Często, ale nie zawsze. Ten tester wykorzystuje silnik JavaScript. Python, PHP (PCRE) i Java mają różne funkcje i składnię dla takich rzeczy, jak nazwane grupy, wygląd wstecz i flagi, więc ponownie sprawdź wzorce, które się na nich opierają.

Źródła

Aktualizacja strony: