⊗jsSpRENPB 132 of 294 menu

Niezachowujące nawiasy w wyrażeniach regularnych JavaScript

Nawiasy ( ) pełnią dwie funkcje - grupowanie znaków i funkcję kieszeni. A co zrobić, jeśli potrzebujemy zgrupować, ale nie umieszczać w kieszeni? Aby rozwiązać ten problem, wymyślono specjalne niezachowujące nawiasy (?: ) - grupują, ale nie umieszczają w kieszeni.

Przykład

W następnym przykładzie pierwsze nawiasy są nam potrzebne do grupowania, a drugie - do kieszeni. Jednakże zarówno jedne, jak i drugie nawiasy zachowują dane w kieszeni:

let str = 'abab123'; let res = str.match(/(ab)+([1-9]+)/);

W rezultacie w naszych kieszeniach będzie następująco:

console.log(res[0]); // wypisze 'abab123' console.log(res[1]); // wypisze 'ab' console.log(res[2]); // wypisze '123'

Przykład

Sprawmy, aby pierwsza para nawiasów tylko grupowała, ale nie umieszczała w kieszeni:

let str = 'abab123'; let res = str.match(/(?:ab)+([1-9]+)/);

W rezultacie w pierwszej kieszeni będzie nasza liczba:

console.log(res[1]); // wypisze '123'
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć