JavaScript'te Düzenli İfadelerde Çok Satırlılık

Düzenli ifadeler, çok satırlı metinlerle çalışırken kendine has özelliklere sahiptir. Gelin, aşağıdaki metni örnek alarak bu özellikleri inceleyelim. Bu metin, normal karakterler, satır sonu karakterleri ve sekme karakterleri içermektedir:

javascriptlet str = `111
  222
  333
  444`;

Satır Sonu

Satır sonu karakterleri '\n' komutuyla yakalanabilir:

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

Sonuç olarak değişkene aşağıdaki metin yazılacaktır (satırlar arasındaki boşluklar sekmelerdir):

javascript`111!  222!  333!  444`;

Sekme

Sekme karakterleri '\t' komutuyla yakalanabilir:

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

Sonuç olarak değişkene aşağıdaki metin yazılacaktır:

javascript`
                111
                !222
                !333
                !444
            `;

Noktanın Çalışması

'.' komutu, çok satırlı bir metin için satır sonu karakterlerini yakalamaz:

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

Sonuç olarak değişkene aşağıdaki metin yazılacaktır:

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

Herhangi Bir Karakter

Çok satırlı bir metindeki tüm karakterleri yakalamak için [\s\S] kombinasyonu şeklinde hileli bir yöntem kullanılır. Bu yapı, tüm normal karakterleri ve tüm satır sonlarını bulacaktır:

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

Sonuç olarak değişkene aşağıdaki metin yazılacaktır:

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

Şapka (^)

'm' değiştiricisi kullanılarak çok satırlı mod etkinleştirilebilir. Bu durumda, şapka karakteri her satırın başını yakalayacaktır:

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

Sonuç olarak değişkene aşağıdaki metin yazılacaktır:

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

Dolar ($)

'$' komutu, çok satırlı modda her satırın sonunu yakalayacaktır:

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

Sonuç olarak değişkene aşağıdaki metin yazılacaktır:

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

Pratik Görevler

Задание 1

Aşağıdaki metin verilmiştir:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:

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

Aşağıdaki metin verilmiştir:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:

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

Aşağıdaki metin verilmiştir:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:

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

Aşağıdaki metin verilmiştir:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:

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

Aşağıdaki metin verilmiştir:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:

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

Aşağıdaki metin verilmiştir:

javascript`
  abc
  def
  ghi
  jkl
`;

Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:

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