Silnik: JavaScript RegExp (flavor ECMAScript)
Dopasowania liczy natywny silnik RegExp Twojej przeglądarki, uruchamiany w Web Workerze. To ten sam flavor, którego użyjesz w kodzie JS — ale różni się od PCRE (PHP, Perl, Python re):
- Brak rekurencji
(?R), atomic groups(?>…)i warunków(?(1)…). - Grupy nazwane zapisujemy jako
(?<name>…), a odwołania jako\k<name>(nie(?P<name>)). - Kotwice
\A \Z \znie istnieją — użyj^ $(z flagąmdziałają per linia). - Flaga
d(hasIndices) dodaje pozycje grup;uwłącza pełny tryb Unicode i\u{…}.
Ściąga składni
Kotwice
- ^
- początek tekstu / linii (m)
- $
- koniec tekstu / linii (m)
- \b
- granica słowa
- \B
- brak granicy słowa
Klasy znaków
- .
- dowolny znak (bez \n)
- \d \D
- cyfra / nie-cyfra
- \w \W
- znak słowa / nie-słowa
- \s \S
- biały / nie-biały znak
- [a-z]
- zakres; [^…] negacja
Kwantyfikatory
- *
- 0 lub więcej
- +
- 1 lub więcej
- ?
- 0 lub 1 (opcjonalnie)
- {n,m}
- od n do m razy
- *?
- leniwie (jak najmniej)
Grupy
- (…)
- grupa przechwytująca
- (?:…)
- nieprzechwytująca
- (?<n>…)
- nazwana
- \1 \k<n>
- odwołanie wstecz
- a|b
- alternacja
Lookaround
- (?=…)
- lookahead dodatni
- (?!…)
- lookahead ujemny
- (?<=…)
- lookbehind dodatni
- (?<!…)
- lookbehind ujemny
Flagi
- g
- wszystkie dopasowania
- i
- ignoruj wielkość liter
- m
- ^ $ per linia
- s
- . łapie nową linię
- u y d
- unicode / sticky / indeksy