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:
let str = `111
222
333
444`;
Satır Sonu
Satır sonu karakterleri
'\n' komutuyla yakalanabilir:
let res = str.replace(/\n/g, '!');
Sonuç olarak değişkene aşağıdaki metin yazılacaktır (satırlar arasındaki boşluklar sekmelerdir):
`111! 222! 333! 444`;
Sekme
Sekme karakterleri
'\t' komutuyla yakalanabilir:
let res = str.replace(/\t/g, '!');
Sonuç olarak değişkene aşağıdaki metin yazılacaktır:
`
111
!222
!333
!444
`;
Noktanın Çalışması
'.' komutu, çok satırlı
bir metin için satır sonu karakterlerini yakalamaz:
let res = str.replace(/./g, '!');
Sonuç olarak değişkene aşağıdaki metin yazılacaktır:
`
!!!
!!!!
!!!!
!!!!
`;
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:
let res = str.replace(/[\s\S]/g, '!');
Sonuç olarak değişkene aşağıdaki metin yazılacaktır:
`!!!!!!!!!!!!!!!!!!`;
Ş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:
let res = str.replace(/^/gm, '!');
Sonuç olarak değişkene aşağıdaki metin yazılacaktır:
`
!111
!222
!333
!444
`;
Dolar ($)
'$' komutu, çok satırlı modda
her satırın sonunu yakalayacaktır:
let res = str.replace(/$/gm, '!');
Sonuç olarak değişkene aşağıdaki metin yazılacaktır:
`
111!
222!
333!
444!
`;
Pratik Görevler
Aşağıdaki metin verilmiştir:
`
abc
def
ghi
jkl
`;
Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:
`
abc!
def!
ghi!
jkl!
`;
Aşağıdaki metin verilmiştir:
`
abc
def
ghi
jkl
`;
Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:
`
! abc
! def
! ghi
! jkl
`;
Aşağıdaki metin verilmiştir:
`
abc
def
ghi
jkl
`;
Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:
`!
abc
def
ghi
jkl
!`;
Aşağıdaki metin verilmiştir:
`
abc
def
ghi
jkl
`;
Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:
`!
! abc
! def
! ghi
! jkl
!`;
Aşağıdaki metin verilmiştir:
`
abc
def
ghi
jkl
`;
Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:
`!
abc!
def!
ghi!
jkl!
!`;
Aşağıdaki metin verilmiştir:
`
abc
def
ghi
jkl
`;
Bu metni aşağıdaki hale getiren bir düzenli ifade yazın:
`
!abc
!def
!ghi
!jkl
`;