Mitmerealine regulaaravaldistes JavaScriptis
Regulaaravaldistel on mitmerealiste stringidega töötamisel oma eripärad. Võtame need läbi järgmise stringi näitel, mis sisaldab tavazeicheneid, reavahetuse sümboleid ja tabelleerimissümboleid:
javascriptlet str = `111
222
333
444`;
Reavahetus
Reavahetuse sümboleid saab
püüda käsuga '\n':
javascriptlet res = str.replace(/\n/g, '!');
Tulemusena kirjutatakse muutujasse järgmine (ridade vahelised tühikud on tabelleerimine):
javascript`111! 222! 333! 444`;
Tabelleerimine
Tabelleerimise sümboleid saab
püüda käsuga '\t':
javascriptlet res = str.replace(/\t/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
javascript`
111
!222
!333
!444
`;
Punkti töö
Käsk '.' mitmerealise
stringi puhul ei püüa reavahetuse sümboleid:
javascriptlet res = str.replace(/./g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
javascript`
!!!
!!!!
!!!!
!!!!
`;
Suvaline sümbol
Kõikide sümbolite püüdmiseks mitmerealises
stringis kasutatakse nutikat võtet kujul
kombinatsioon [\s\S]. Selline konstruktsioon leiab
kõik tavasümbolid ja kõik reavahetused:
javascriptlet res = str.replace(/[\s\S]/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
javascript`!!!!!!!!!!!!!!!!!!`;
Katus (^)
Modifikaatoriga 'm'
saab sisse lülitada mitmerežiimi.
Sellisel juhul hakkab katus (^) püüdma
iga rea algust:
javascriptlet res = str.replace(/^/gm, '!');
Tulemusena kirjutatakse muutujasse järgmine:
javascript`
!111
!222
!333
!444
`;
Dollar ($)
Käsk '$' mitmerežiimis
hakkab püüdma iga rea lõppu:
javascriptlet res = str.replace(/$/gm, '!');
Tulemusena kirjutatakse muutujasse järgmine:
javascript`
111!
222!
333!
444!
`;
Praktilised ülesanded
Antud on string:
javascript`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
javascript`
abc!
def!
ghi!
jkl!
`;
Antud on string:
javascript`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
javascript`
! abc
! def
! ghi
! jkl
`;
Antud on string:
javascript`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
javascript`!
abc
def
ghi
jkl
!`;
Antud on string:
javascript`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
javascript`!
! abc
! def
! ghi
! jkl
!`;
Antud on string:
javascript`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
javascript`!
abc!
def!
ghi!
jkl!
!`;
Antud on string:
javascript`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
javascript`
!abc
!def
!ghi
!jkl
`;