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
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!
`;
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
`;
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
!`;
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
!`;
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!
!`;
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
`;