⊗jsSpREInr 96 of 294 menu

Regulaaravaldiste sissejuhatus JavaScriptis

Regulaaravaldised on käsid keerukaks otsimiseks ja asendamiseks (või lihtsalt otsimiseks). Need võimaldavad teha väga huvitavaid asju, kuid kahjuks on nende omandamine üsna keeruline.

JavaScriptis on mitu meetodit regulaaravaldistega töötamiseks. Hakkame nendega tutvema näite abil replace - te juba tunnete seda meetodit: see võtab esimese parameetrina mida asendada ja teise - millega asendada. Ja meetodit rakendatakse reeglile, milles asendamine toimub:

'bab'.replace('a', '!'); // tagastab 'b!b'

Selle meetodi esimese parameetrina saab edastada mitte ainult stringi, vaid regulaaravaldise. Regulaaravaldis on kogum käske, mis asuvad kaldkriipsude vahel /. Neid kaldkriipsu nimetatakse piiritlejateks regulaaravaldiste puhul.

Regulaaravaldised ise koosnevad kahest tüüpi sümbolitest: nendest, mis tähistavad iseennast ja käsusümbolitest, mida nimetatakse spetsiaalseteks sümboliteks.

Tähed ja numbrid tähistavad iseennast. Järgmises näites asendame regulaaravaldise abil tähe 'a' sümboliga !:

'bab'.replace(/a/, '!'); // tagastab 'b!b'

Kuid punkt on spetsiaalne sümbol ja tähistab suvalist sümbolit. Järgmises näites leiame stringi järgmise mustri järgi: täht 'x', siis suvaline sümbol, siis jälle täht 'x':

'xax eee'.replace(/x.x/, '!'); // tagastab '! eee'

Pärast piiritlejaid saab kirjutada modifikaatoreid - käske, mis muudavad regulaaravaldise üldisi omadusi. Näiteks modifikaator g lülitab sisse globaalse otsimise ja asendamise režiimi - ilma selleta leiab regulaaravaldis ainult esimese vastestuse, kuid sellega - kõik vastestused.

Järgmises näites pole määratud modifikaatorit g ja regulaaravaldis leiab ainult esimese vastestuse:

'aab'.replace(/a/, '!'); // tagastab '!ab'

Ja nüüd leiab regulaaravaldis kõik vastestused:

'aab'.replace(/a/g, '!'); // tagastab '!!b'

Antud on string:

let str = 'ahb acb aeb aeeb adcb axeb';

Kirjutage regulaaravaldis, mis leiab stringid 'ahb', 'acb', 'aeb' vastavalt mustrile: täht 'a', suvaline sümbol, täht 'b'.

Antud on string:

let str = 'aba aca aea abba adca abea';

Kirjutage regulaaravaldis, mis leiab stringid 'abba', 'adca', 'abea' vastavalt mustrile: täht 'a', 2 suvalist sümbolit, täht 'a'.

Antud on string:

let str = 'aba aca aea abba adca abea';

Kirjutage regulaaravaldis, mis leiab stringid 'abba' ja 'abea', ilma et 'adca' kaasa võetaks.

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