⊗jsSpREEP 129 of 294 menu

Kišenės pačioje reguliariojoje išraiškoje JavaScript

Kišenių turinys yra prieinamas ne tik pakeitimo eilutėje, bet ir pačioje reguliariojoje išraiškoje: mes galime įdėti ką nors į kišenę, o tada tiesiog reguliariojoje išraiškoje pasakyti, kad čia turi būti šios kišenės turinys.

Kišenių turinys yra prieinamas pagal jų numerius, prieš kuriuos yra atvirkštinis pasvirasis brūkšnys. Pavyzdžiui, pirmoji kišenė bus prieinama taip: \1, antroji kišenė taip - \2, trečioji - \3 ir taip toliau.

Esu tikras, kad viskas, kas parašyta aukščiau, kol kas yra gana neaišku jums. Tai nenuostabu, nes kišenės yra pati mažiausiai suprantama reguliariųjų išraiškų vieta. Pažiūrėkime į pavyzdžius.

Pavyzdys

Tarkime, kad turime tokią eilutę:

let str = 'aa bb cd ef';

Raskime joje visas vietas, kuriose yra dvi bet kokios vienodos raidės iš eilės. Norėdami išspręsti užduotį, ieškosime bet kurios raidės, įdėsime ją į kišenę, o tada patikrinsime, ar kitas simbolis yra šios kišenės turinys:

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

Dėl to į kintamąjį bus įrašyta taip:

'! ! cd ef'

Pavyzdys

Tarkime, kad turime tokią eilutę:

let str = 'asxca buzxb csgd';

Raskime joje visus žodžius, kuriuose pirma ir paskutinė raidės yra vienodos. Norėdami išspręsti užduotį, parašysime tokį šabloną: raidė, po to dar viena ar daugiau raidžių, o po to tokia pati raidė kaip ir pirmoji:

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

Dėl to į kintamąjį bus įrašyta taip:

'! ! csgd'

Praktinės užduotys

Duota eilutė:

let str = 'aaa bbb ccc xyz';

Raskite visas poeilutes, kuriose yra trys vienodos raidės iš eilės.

Duota eilutė:

let str = 'a aa aaa aaaa aaaaa';

Raskite visas poeilutes, kuriose yra dvi ar daugiau vienodų raidžių iš eilės.

Duota eilutė:

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

Raskite visas poeilutes, kuriose yra du vienodi žodžiai iš eilės.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti