Mitte-salvestavad sulud JavaScripti regulaaravaldistes
Sulud ( ) täidavad kahte funktsiooni -
sümbolite grupeerimine ja põhi funktsioon. Aga
mida teha, kui me vajame grupeerimist,
kuid mitte põhja panemist?
Sellise probleemi lahendamiseks on loodud spetsiaalsed
mitte-salvestavad sulud (?: )
- nad grupeerivad, kuid ei pane põhja.
Näide
Järgmises näites on esimesed sulud meile vajalikud grupeerimiseks, teised aga põhja jaoks. Siiski mõlemad sulud salvestavad andmed põhja:
let str = 'abab123';
let res = str.match(/(ab)+([1-9]+)/);
Tulemusena on meie põhjadesse salvestunud järgmine:
console.log(res[0]); // väljastab 'abab123'
console.log(res[1]); // väljastab 'ab'
console.log(res[2]); // väljastab '123'
Näide
Teeme nii, et esimene sulgupaar ainult grupeeriks, kuid ei salvestaks põhja:
let str = 'abab123';
let res = str.match(/(?:ab)+([1-9]+)/);
Tulemusena on meie esimeses põhjas meie number:
console.log(res[1]); // väljastab '123'