არათავმოყრითი ფრჩხილები ჯავასკრიპტის რეგულარულ გამოსახულებებში
ფრჩხილებს ( ) აქვთ ორი ფუნქცია -
სიმბოლოების დაჯგუფება და ჯიბის ფუნქცია. Და
რა ვუყოთ, თუ გვსურს დავაჯგუფოთ,
მაგრამ ჯიბეში არ ჩავდოთ?
ამ პრობლემის მოსაგვარებლად შექმნილია სპეციალური
არათავმოყრითი ფრჩხილები (?: )
- ისინი აჯგუფებენ, მაგრამ ჯიბეში არ აგროვებენ.
მაგალითი
შემდეგ მაგალითში პირველი ფრჩხილები გვჭირდება დაჯგუფებისთვის, ხოლო მეორე - ჯიბისთვის. თუმცა, ორივე ფრჩხილი ინახავს მონაცემებს ჯიბეში:
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'