Merkkien toistoominaisuudet

On tilanteita, joissa haluamme määrittää, että merkki toistuu tietyn määrän kertoja. Jos tiedämme tarkan toistomäärän, voimme yksinkertaisesti kirjoittaa sen useita kertoja - /aaaa/. Mutta mitä tehdä, jos haluamme sanoa näin: toista yksi tai useampi kerta?

Tätä varten on olemassa toistoominaisuudet (kvantifioijat): plus + (yksi tai useampi kerta), tähti * (nolla tai useampi kerta) ja kysymys ? (nolla tai yksi kerta). Nämä ominaisuudet vaikuttavat siihen merkkiin, joka edeltää niitä.

Katsotaan näiden operaattoreiden toimintaa esimerkkien avulla.

Esimerkki

Etsitään kaikki alimerkkijonot mallin kirjain 'x', kirjain 'a' yksi tai useampi kerta, kirjain 'x' mukaisesti:

javascriptlet str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'xx ! ! ! xbx'

Esimerkki

Etsitään kaikki alimerkkijonot mallin kirjain 'x', kirjain 'a' nolla tai useampi kerta, kirjain 'x' mukaisesti:

javascriptlet str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'! ! ! ! xbx'

Esimerkki

Etsitään kaikki alimerkkijonot mallin kirjain 'x', kirjain 'a' nolla tai yksi kerta, kirjain 'x' mukaisesti:

javascriptlet str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'! ! xaax xbx'

Käytännön tehtävät

Задание 1

Annettu merkkijono:

javascriptlet str = 'aa aba abba abbba abca abea';

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'aba', 'abba', 'abbba' mallin mukaisesti: kirjain 'a', kirjain 'b' mitä tahansa määrän kertoja, kirjain 'a'.

Задание 2

Annettu merkkijono:

javascriptlet str = 'aa aba abba abbba abca abea';

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'aa', 'aba', 'abba', 'abbba' mallin mukaisesti: kirjain 'a', kirjain 'b' mitä tahansa määrän kertoja (mukaan lukien nolla kertaa), kirjain 'a'.

Задание 3

Annettu merkkijono:

javascriptlet str = 'aa aba abba abbba abca abea';

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'aa', 'aba' mallin mukaisesti: kirjain 'a', kirjain 'b' yksi kerta tai ei kertaakaan, kirjain 'a'.

Задание 4

Annettu merkkijono:

javascriptlet str = 'aa aba abba abbba abca abea';

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'aa', 'aba', 'abba', 'abbba', ottaen mukaan 'abca' ja 'abea'.