JavaScript-daky regulýar ifadelerde köp setirlilik

Regulýar ifadeler köp setirli setirler bilen işlemekde özboluşly aýratynlyklara eýedir. Olary ýönekeý nyşanlar, setir geçiş nyşanlary we tabulýasiýa nyşanlaryny öz içine alýan aşakdaky setir ýaly mysalda düşündireýli:

javascriptlet str = `111
  222
  333
  444`;

Setiriň geçişi

Setir geçiş nyşanlaryny '\n' buýrugy bilen tutup bolýar:

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

Netijede üýtgeýjide aşakdaky ýazylar (setirleriň arasyndaky boşluklar tabulýasiýadyr):

javascript`111!  222!  333!  444`;

Tabulýasiýa

Tabulýasiýa nyşanlaryny '\t' buýrugy bilen tutup bolýar:

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

Netijede üýtgeýjide aşakdaky ýazylar:

javascript`
                111
                !222
                !333
                !444
            `;

Nokat işi

'.' buýrugy köp setirli setir üçin setir geçiş nyşanlaryny tutmaýar:

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

Netijede üýtgeýjide aşakdaky ýazylar:

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

Islendik nyşan

Köp setirli setirde ähli nyşanlary tutmak üçin, [\s\S] görnüşindeki çeper usul ulanylýar. Beýle bir gurluş ähli ýönekeý nyşanlary we ähli setir geçişlerini tapar:

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

Netijede üýtgeýjide aşakdaky ýazylar:

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

Şlýapka (^)

'm' üýtgedijisi bilen köp setirli režimi açyp bolýar. Bu ýagdaýda şlýapka her bir setiriň başlangyjyny tutar:

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

Netijede üýtgeýjide aşakdaky ýazylar:

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

Dollar ($)

' buýrugy köp setirli režimde her bir setiriň soňuny tutar:

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

Netijede üýtgeýjide aşakdaky ýazylar:

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

Amaly meseleler

Задание 1

Setir berlen:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu setirden aşakdaky setiri ýasayan regulýar ýaz:

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

Setir berlen:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu setirden aşakdaky setiri ýasayan regulýar ýaz:

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

Setir berlen:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu setirden aşakdaky setiri ýasayan regulýar ýaz:

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

Setir berlen:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu setirden aşakdaky setiri ýasayan regulýar ýaz:

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

Setir berlen:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu setirden aşakdaky setiri ýasayan regulýar ýaz:

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

Setir berlen:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu setirden aşakdaky setiri ýasayan regulýar ýaz:

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