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:

javascriptlet str = `111
  222
  333
  444`;

Kalimi i vargut

Karakteret e kalimit të vargut mund të kapen me komandën '\n':

javascriptlet res = str.replace(/\n/g, '!');

Si rezultat, në variabël do të shkruhet vijuesi (hapësirat midis vargjeve janë tabulime):

javascript`111!  222!  333!  444`;

Tabulimi

Karakteret e tabulimit mund të kapen me komandën '\t':

javascriptlet res = str.replace(/\t/g, '!');

Si rezultat, në variabël do të shkruhet vijuesi:

javascript`
                111
                !222
                !333
                !444
            `;

Puna e pikës

Komanda '.' për një varg shumëvargëzor nuk kap karakteret e kalimit të vargut:

javascriptlet res = str.replace(/./g, '!');

Si rezultat, në variabël do të shkruhet vijuesi:

javascript`
                !!!
                !!!!
                !!!!
                !!!!
            `;

Ç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:

javascriptlet res = str.replace(/[\s\S]/g, '!');

Si rezultat, në variabël do të shkruhet vijuesi:

javascript`!!!!!!!!!!!!!!!!!!`;

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:

javascriptlet res = str.replace(/^/gm, '!');

Si rezultat, në variabël do të shkruhet vijuesi:

javascript`
                !111
                !222
                !333
                !444
            `;

Dollar

Komanda ' në modalitetin shumëvargëzor do të kapë fundin e çdo vargu:

javascriptlet res = str.replace(/$/gm, '!');

Si rezultat, në variabël do të shkruhet vijuesi:

javascript`
                111!
  222!
  333!
  444!
            `;

Detyra praktike

Задание 1

Është dhënë vargu:

javascript`
  abc
  def
  ghi
  jkl
`;

Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:

javascript`
  abc!
  def!
  ghi!
  jkl!
`;
Задание 2

Është dhënë vargu:

javascript`
  abc
  def
  ghi
  jkl
`;

Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:

javascript`
!  abc
!  def
!  ghi
!  jkl
`;
Задание 3

Është dhënë vargu:

javascript`
  abc
  def
  ghi
  jkl
`;

Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:

javascript`!
  abc
  def
  ghi
  jkl
!`;
Задание 4

Është dhënë vargu:

javascript`
  abc
  def
  ghi
  jkl
`;

Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:

javascript`!
!  abc
!  def
!  ghi
!  jkl
!`;
Задание 5

Është dhënë vargu:

javascript`
  abc
  def
  ghi
  jkl
`;

Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:

javascript`!
  abc!
  def!
  ghi!
  jkl!
!`;
Задание 6

Është dhënë vargu:

javascript`
  abc
  def
  ghi
  jkl
`;

Shkruani një shprehje të rregullt, që do të bëjë nga ky varg vijuesin:

javascript`
                    !abc
                    !def
                    !ghi
                    !jkl
`;