JavaScript түзуіндегі бейсақтаушы жақшалар
Жақшалар ( ) екі функцияны орындайды -
таңбаларды топтастыру және қалта функциясы. Ал
егер бізге топтастыру керек болса,
бірақ қалтаға салмау керек болса, не істеу керек?
Мұндай мәселені шешу үшін арнайы
бейсақтаушы жақшалар (?: )
ойлап табылды - олар топтастырады, бірақ қалтаға салмайды.
Мысал
Келесі мысалда бірінші жақшалар бізге топтастыру үшін қажет, ал екіншілері - қалта үшін. Алайда, екеуі де жақшалар деректерді қалтаға сақтайды:
let str = 'abab123';
let res = str.match(/(ab)+([1-9]+)/);
Нәтижесінде біздің қалталарымызда мыналар болады:
console.log(res[0]); // шығарады 'abab123'
console.log(res[1]); // шығарады 'ab'
console.log(res[2]); // шығарады '123'
Мысал
Бірінші жақша жұбы тек топтастыру үшін ғана, бірақ қалтаға салмау үшін жасайық:
let str = 'abab123';
let res = str.match(/(?:ab)+([1-9]+)/);
Нәтижесінде бірінші қалтада біздің санымыз болады:
console.log(res[1]); // шығарады '123'