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:
let str = `111
222
333
444`;
Reavahetus
Reavahetuse sümboleid saab
püüda käsuga '\n':
let res = str.replace(/\n/g, '!');
Tulemusena kirjutatakse muutujasse järgmine (ridade vahelised tühikud on tabelleerimine):
`111! 222! 333! 444`;
Tabelleerimine
Tabelleerimise sümboleid saab
püüda käsuga '\t':
let res = str.replace(/\t/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
`
111
!222
!333
!444
`;
Punkti töö
Käsk '.' mitmerealise
stringi puhul ei püüa reavahetuse sümboleid:
let res = str.replace(/./g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
`
!!!
!!!!
!!!!
!!!!
`;
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:
let res = str.replace(/[\s\S]/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
`!!!!!!!!!!!!!!!!!!`;
Katus (^)
Modifikaatoriga 'm'
saab sisse lülitada mitmerežiimi.
Sellisel juhul hakkab katus (^) püüdma
iga rea algust:
let res = str.replace(/^/gm, '!');
Tulemusena kirjutatakse muutujasse järgmine:
`
!111
!222
!333
!444
`;
Dollar ($)
Käsk '$' mitmerežiimis
hakkab püüdma iga rea lõppu:
let res = str.replace(/$/gm, '!');
Tulemusena kirjutatakse muutujasse järgmine:
`
111!
222!
333!
444!
`;
Praktilised ülesanded
Antud on string:
`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
`
abc!
def!
ghi!
jkl!
`;
Antud on string:
`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
`
! abc
! def
! ghi
! jkl
`;
Antud on string:
`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
`!
abc
def
ghi
jkl
!`;
Antud on string:
`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
`!
! abc
! def
! ghi
! jkl
!`;
Antud on string:
`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
`!
abc!
def!
ghi!
jkl!
!`;
Antud on string:
`
abc
def
ghi
jkl
`;
Kirjutage regulaaravaldis, mis teeb sellest stringist järgmise:
`
!abc
!def
!ghi
!jkl
`;