⊗jsSpREEP 129 of 294 menu

ჯავასკრიპტში რეგულარული გამონათქვამების ჯიბეები

ჯიბეების შიგთავსი ხელმისაწვდომია არა მხოლოდ ჩანაცვლების სტრიქონში, არამედ თავად რეგულარულ გამონათქვამში: ჩვენ შეგვიძლია რაღაცის ჩადება ჯიბეში, შემდეგ კი პირდაპირ რეგულარულ გამონათქვამში ვთქვათ, რომ აქ უნდა იყოს ამ ჯიბის შიგთავსი.

ჯიბეების შიგთავსი ხელმისაწვდომია მათი ნომრების მიხედვით, რომლებსაც წინ უძღვის უკანა ხაზი. მაგალითად, პირველი ჯიბე იქნება ხელმისაწვდომი ასე: \1, მეორე ჯიბე ასე - \2, მესამე - \3 და ასე შემდეგ.

დარწმუნებული ვარ, რომ ზემოთ written everything is still very ბუნდოვანი თქვენთვის. ეს გასაკვირი არ არის, რადგან როგორც ჯიბეები - რეგულარული გამონათქვამების ყველაზე ნაკლებად გასაგები ადგილი არის. მოდით გავიგოთ მაგალითებით.

მაგალითი

დავუშვათ, გვაქვს ასეთი სტრიქონი:

let str = 'aa bb cd ef';

მოდით ვიპოვოთ მასში ყველა ის ადგილი, სადაც ერთმანეთის მიყოლებით ორი ერთი და იგივე ასო დგას. ამოცანის გადასაჭრელად ჩვენ ვეძებთ ნებისმიერ ასოს, ვდებთ მას ჯიბეში, შემდეგ კი ვამოწმებთ, მოდის თუ არა შემდეგი სიმბოლოთი ამ ჯიბის შიგთავსი:

let res = str.replace(/([a-z])\1/g, '!');

შედეგად ცვლადში ჩაიწერება შემდეგი:

'! ! cd ef'

მაგალითი

დავუშვათ, გვაქვს ასეთი სტრიქონი:

let str = 'asxca buzxb csgd';

მოდით ვიპოვოთ მასში ყველა სიტყვა, რომელშიც პირველი და ბოლო ასოები ერთნაირია. ამოცანის გადასაჭრელად დავწერთ შემდეგ შაბლონს: ასო, შემდეგ კიდევ ერთი ან მეტი ასო, და შემდეგ იგივე ასო როგორც პირველი:

let res = str.replace(/([a-z])[a-z]+\1/g, '!');

შედეგად ცვლადში ჩაიწერება შემდეგი:

'! ! csgd'

პრაქტიკული ამოცანები

მოცემულია სტრიქონი:

let str = 'aaa bbb ccc xyz';

იპოვეთ ყველა ქვესტრიქონი, რომელშიც არის სამი ერთნაირი ასო ზედიზედ.

მოცემულია სტრიქონი:

let str = 'a aa aaa aaaa aaaaa';

იპოვეთ ყველა ქვესტრიქონი, რომელშიც არის ორი ან მეტი ერთნაირი ასო ზედიზედ.

მოცემულია სტრიქონი:

let str = 'aaa aaa bbb bbb ccc ddd';

იპოვეთ ყველა ქვესტრიქონი, რომელშიც არის ორი ერთნაირი სიტყვა ზედიზედ.

ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა