Shumëvargëzimi në Regex JavaScript
Shprehjet e rregullta kur punojnë me vargje shumëvargëzore kanë veçoritë e veta. Le t'i kuptojmë ato në shembullin e vargut vijues, që përmban karaktere të zakonshëm, karaktere të kalimit të vargut dhe tabulime:
let str = `111
222
333
444`;
Kalimi i vargut
Karakteret e kalimit të vargut mund të
kapen me komandën '\n':
let res = str.replace(/\n/g, '!');
Si rezultat, në variabël do të shkruhet vijuesi (hapësirat midis vargjeve janë tabulime):
`111! 222! 333! 444`;
Tabulimi
Karakteret e tabulimit mund të
kapen me komandën '\t':
let res = str.replace(/\t/g, '!');
Si rezultat, në variabël do të shkruhet vijuesi:
`
111
!222
!333
!444
`;
Puna e pikës
Komanda '.' për një varg
shumëvargëzor nuk kap karakteret e kalimit të vargut:
let res = str.replace(/./g, '!');
Si rezultat, në variabël do të shkruhet vijuesi:
`
!!!
!!!!
!!!!
!!!!
`;
Çdo karakter
Për të kapur të gjitha karakteret në një varg
shumëvargëzor, përdoret një mashtrim i zgjuar në formën
e kombinimit [\s\S]. Një konstrukt i tillë do të gjejë
të gjitha karakteret e zakonshme dhe të gjitha kalimet e vargut:
let res = str.replace(/[\s\S]/g, '!');
Si rezultat, në variabël do të shkruhet vijuesi:
`!!!!!!!!!!!!!!!!!!`;
Kapele
Me ndihmën e modifikuesit 'm'
mund të aktivizohet modaliteti shumëvargëzor.
Në këtë rast, kapele do të kapë
fillimin e çdo vargu:
let res = str.replace(/^/gm, '!');
Si rezultat, në variabël do të shkruhet vijuesi:
`
!111
!222
!333
!444
`;
Dollar
Komanda '
në modalitetin shumëvargëzor
do të kapë fundin e çdo vargu:
let res = str.replace(/$/gm, '!');
Si rezultat, në variabël do të shkruhet vijuesi:
`
111!
222!
333!
444!
`;
Detyra praktike
Është dhënë vargu:
`
abc
def
ghi
jkl
`;
Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:
`
abc!
def!
ghi!
jkl!
`;
Është dhënë vargu:
`
abc
def
ghi
jkl
`;
Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:
`
! abc
! def
! ghi
! jkl
`;
Është dhënë vargu:
`
abc
def
ghi
jkl
`;
Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:
`!
abc
def
ghi
jkl
!`;
Është dhënë vargu:
`
abc
def
ghi
jkl
`;
Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:
`!
! abc
! def
! ghi
! jkl
!`;
Është dhënë vargu:
`
abc
def
ghi
jkl
`;
Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:
`!
abc!
def!
ghi!
jkl!
!`;
Është dhënë vargu:
`
abc
def
ghi
jkl
`;
Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:
`
!abc
!def
!ghi
!jkl
`;