⊗jsSpRENPB 132 of 294 menu

Nezachytávajúce zátvorky v regulárnych výrazoch JavaScript

Zátvorky ( ) vykonávajú dve funkcie - zoskupovanie znakov a funkciu zachytenia (capture group). A čo robiť, ak potrebujeme zoskupiť, ale nechceme zachytiť? Na vyriešenie tohto problému boli vytvorené špeciálne nezachytávajúce zátvorky (?: ) - tie zoskupujú, ale nezachytávajú.

Príklad

V nasledujúcom príklade potrebujeme prvé zátvorky pre zoskupenie a druhé - pre zachytenie. Avšak, oboje zátvorky ukladajú údaje do zachytávacej skupiny:

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

V dôsledku budeme mať v našich zachytávacích skupinách nasledovné:

console.log(res[0]); // vypíše 'abab123' console.log(res[1]); // vypíše 'ab' console.log(res[2]); // vypíše '123'

Príklad

Upravíme to tak, aby prvá para zátvoriek len zoskupovala, ale nezachytávala:

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

V dôsledku bude v našej prvej zachytávacej skupine naše číslo:

console.log(res[1]); // vypíše '123'
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť