Johdonatus regular expressions -lausekkeisiin JavaScriptissä

Regular expressions -lausekkeet ovat komentoja monimutkaista etsimistä ja korvaamista varten (tai pelkästään etsimistä). Ne mahdollistavat erittäin mielenkiintoisten asioiden tekemisen, mutta valitettavasti niiden oppiminen on melko vaikeaa.

JavaScriptissä on useita menetelmiä regular expressions -lausekkeiden käsittelyyn. Aloitamme tutustumisen niihin esimerkkinä replace - olet jo tutustunut tähän menetelmään: se ottaa ensimmäisenä parametrina mitä korvataan, ja toisena - millä korvataan. Ja itse menetelmää sovelletaan merkkijonoon, jossa korvaus tehdään:

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

Tämän menetelmän ensimmäiseksi parametriksi voidaan antaa ei pelkkä merkkijono, vaan regular expression. Regular expression ilmaistaan komentojoukkona, joka sijaitsee kauttaviivojen / sisällä. Nämä kauttaviivat kutsutaan rajoittimiksi regular expressions -lausekkeille.

Regular expressions -lausekkeet koostuvat kahdesta merkkityypistä: merkeistä, jotka merkitsevät itseään, ja komentomerkeistä, joita kutsutaan erikoismerkeiksi.

Kirjaimet ja numerot merkitsevät itseään. Seuraavassa esimerkissä korvaamme regular expression -lausekkeen avulla kirjaimen 'a' merkiksi !:

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

Piste sen sijaan on erikoismerkki ja merkitsee mitä tahansa merkkiä. Seuraavassa esimerkissä löydämme merkkijonon seuraavan mallin mukaisesti: kirjain 'x', sitten mikä tahansa merkki, sitten taas kirjain 'x':

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

Rajoittimien jälkeen voidaan kirjoittaa modifioijat - komennot, jotka muuttavat regular expression -lausekkeen yleisiä ominaisuuksia. Esimerkiksi modifioija g laittaa päälle globaalin etsintä ja korvaus -tilan - ilman sitä regular expression etsii vain ensimmäisen osuman, sen kanssa - kaikki osumat.

Seuraavassa esimerkissä ei ole määritelty modifioijaa g ja regular expression löytää vain ensimmäisen osumän:

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

Ja nyt regular expression löytää kaikki osumät:

javascript'aab'.replace(/a/g, '!'); // palauttaa '!!b'
Задание 1

Annettu merkkijono:

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

Kirjoita regular expression -lauseke, joka löytää merkkijonot 'ahb', 'acb', 'aeb' kaavan mukaisesti: kirjain 'a', mikä tahansa merkki, kirjain 'b'.

Задание 2

Annettu merkkijono:

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

Kirjoita regular expression -lauseke, joka löytää merkkijonot 'abba', 'adca', 'abea' kaavan mukaisesti: kirjain 'a', 2 mitä tahansa merkkiä, kirjain 'a'.

Задание 3

Annettu merkkijono:

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

Kirjoita regular expression -lauseke, joka löytää merkkijonot 'abba' ja 'abea', ottaen mukaan 'adca'.