⊗jsSpREEP 129 of 294 menu

Taskud regulaaravaldises ise JavaScriptis

Taskute sisu on kättesaadav mitte ainult asendusstringis, vaid ka regulaaravaldises ise: me võime panna midagi taskusse ja siis otse regulaaravaldises öelda, et siin peab olema selle tasku sisu.

Taskute sisu on kättesaadav nende numbrite järgi, mille ees on kurakaldkriips. Näiteks esimene task on kättesaadav niimoodi: \1, teine task niimoodi - \2, kolmas - \3 ja nii edasi.

Olen kindel, et kõik ülal kirjutatu on teile siiani üsna hägune. See pole üllatav, kuna taskud on regulaaravaldiste kõige vähemarusaamatum koht. Võtame näiteid lahti.

Näide

Oletame, et meil on selline string:

let str = 'aa bb cd ef';

Leiame sellest kõik kohad, kus on kaks ühesugust tähte järjest. Ülesande lahendamiseks otsime ükskõik millist tähte, paneme selle taskusse, ja siis kontrollime, kas järgmine sümbol on selle tasku sisu:

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

Lõpuks kirjutatakse muutujasse järgmine:

'! ! cd ef'

Näide

Oletame, et meil on selline string:

let str = 'asxca buzxb csgd';

Leiame sellest kõik sõnad, mille esimene ja viimane täht on samad. Ülesande lahendamiseks kirjutame järgmise mustri: täht, siis veel üks või rohkem tähte, ja siis sama täht nagu esimene:

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

Lõpuks kirjutatakse muutujasse järgmine:

'! ! csgd'

Praktilised ülesanded

Antud string:

let str = 'aaa bbb ccc xyz';

Leia kõik alamstringid, kus on kolm sama tähte järjest.

Antud string:

let str = 'a aa aaa aaaa aaaaa';

Leia kõik alamstringid, kus on kaks või enam sama tähte järjest.

Antud string:

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

Leia kõik alamstringid, kus on kaks sama sõna järjest.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu