JavaScript regulýar ifadelerinde saklamýan çyzykly ayraçlar

Çyzykly ayraçlar ( ) iki funksiýany ýerine ýetirýär - nyşanlary toparlamak we karman funksiýasy. Eger biz toparlamak isleseňiz, ýöne karmana goýmak islemesek? Munuň üçin üýtgeşik saklamýan çyzykly ayraçlar saklamýan çyzykly ayraçlar (?: ) oýlap tapyldy - olar toparlaýar, ýöne karmana goýmaz.

Mysal

Aşakdaky mysalda birinji çyzykly ayraçlar biz toparlamak üçin gerek, ikinjileri bolsa karman üçin. Şonda hem, birinjiler hem ikinjiler maglumatlary karmana saklaýar:

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

Netijede karmanlarymyzda aşakdakylar bolar:

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

Mysal

Birinji jübüt çyzykly ayraçlaryň diňe toparlaýan, ýöne karmana goýmayan bolmagyny edeliň:

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

Netijede birinji karmanda sanymyz bolar:

javascriptconsole.log(res[1]); // '123' çykarar