⊗jsSpRENPB 132 of 294 menu

Ikke-fangende parenteser i JavaScript regex

Parentesene ( ) utfører to funksjoner - gruppering av tegn og fangstfunksjon. Men hva gjør vi hvis vi trenger å gruppere, uten å fange? For å løse dette problemet er det spesielle ikke-fangende parenteser (?: ) utviklet - de grupperer, men fanger ikke.

Eksempel

I det følgende eksempelet trenger vi de første parentesene for gruppering, og de andre - for fangst. Imidlertid lagrer begge typer parenteser data i fangstgrupper:

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

Resultatet i våre fangstgrupper vil være som følger:

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

Eksempel

La oss gjøre slik at det første paret med parenteser bare grupperer, uten å fange:

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

Resultatet i den første fangstgruppen vil være vårt tall:

console.log(res[1]); // vil skrive ut '123'
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis