Ściąga Regex
Szybka referencja: anchory, klasy znaków, kwantyfikatory, grupy, lookaroundy, flagi. Kliknij dowolny pattern, by skopiować.
Do czego to służy?
Drukowalne, przeszukiwalne podsumowanie kawałków składni regex, które ciągle pamiętasz w połowie. Tabele tu pokrywają główne kategorie — anchory, klasy znaków, kwantyfikatory, grupy, lookaroundy, flagi — plus startowy zestaw typowych patternów. Kliknij dowolny pattern, żeby go skopiować; wpisz w filtr, żeby zawęzić. Sparuj to z Regex Testerem, żeby faktycznie odpalić te patterny na tekście.
Kiedy tego użyć
- Potrzebujesz
(?<=foo)i nie pamiętasz, czy?idzie przed czy po<. - Tłumaczysz komuś regex i potrzebujesz stabilnej strony referencyjnej zamiast grzebać po zakładkach Stack Overflow.
- Chcesz pattern startowy (UUID, email, ISO date) do skopiowania i podstrojenia, zamiast pisać od zera.
- Musisz wiedzieć, która flaga co robi — szczególnie
s(dotall) vsm(multi-line), które ludzie regularnie mylą.
Częste pułapki
- Wariant ma znaczenie. Większość tu to JavaScript / nowoczesny PCRE, ale ficze się różnią. Lookbehind wylądował w JS dopiero z ES2018;
x(extended) jest w PCRE/Pythonie i nie ma go w JS; possessive quantifiery++są tylko w PCRE. m≠ "multi-line matching".mzmienia, co znaczą^i$(per linia, nie per string). Żeby.łapało przez końce linii, chceszs(dotall).- Greedy zżerają za dużo.
<.*>przeciw<a>b</a>matchuje całość, nie tylko<a>. Użyj<.*?>dla wersji lazy, albo lepiej bardziej specyficznej klasy w stylu<[^>]+>. - Regex nie jest parserem HTML ani JSON. "Typowe patterny" tu są dobre do jednorazowego scrapingu albo wskazówek walidacyjnych, nie do traktowania strukturalnego inputu jak stringa.
- Regexy do emaili są zawsze złe. Przykład tu jest grubym sprawdzeniem kształtu; do walidacji produkcyjnej lepiej wyślij maila potwierdzającego.
- Nie ufaj skopiowanym "idealnym" regexom. Przetestuj je na swoich realnych danych w Regex Testerze przed deployem.