Python'da Düzenli İfadelerde Çok Satırlılık
Düzenli ifadeler, çok satırlı dizelerle çalışırken kendine özgü özelliklere sahiptir. Aşağıdaki, normal karakterler, satır sonu ve sekme karakterleri içeren dize örneği üzerinde bunları inceleyelim:
txt = '''111
222
333
444'''
Satır Sonu
Satır sonu karakterleri, '\n' komutuyla
yakalanabilir:
res = re.sub('\n', '!', txt)
print(res)
Aşağıdaki dize yazdırılacaktır (satırlar arasındaki boşluklar sekmedir):
'111! 222! 333! 444'
Sekme
Sekme karakterleri, '\t' komutuyla
yakalanabilir:
res = re.sub('\t', '!', txt)
print(res)
Kodun çalıştırılmasının sonucu:
'''
!111
!222
!333
!444
'''
Noktanın Çalışması
'.' komutu, çok satırlı bir dize için
satır sonu karakterlerini yakalamaz:
res = re.sub('.', '!', txt)
print(res)
Kodun çalıştırılmasının sonucu:
'''
!!!
!!!!
!!!!
!!!!
'''
Herhangi Bir Karakter
Çok satırlı bir dizedeki 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:
res = re.sub('[\s\S]', '!', txt)
print(res)
Kodun çalıştırılmasının sonucu:
'!!!!!!!!!!!!!!!!!!'
Dolar
'$' komutu, çok satırlı modda her satırın
sonunu yakalayacaktır:
res = re.sub('$', '!', txt)
print(res)
Kodun çalıştırılmasının sonucu:
'''
111!
222!
333!
444!
'''
Pratik Görevler
Bir dize verildi:
'''
abc
def
ghi
jkl
'''
Bu dizeden aşağıdakini oluşturacak bir düzenli ifade yazın:
'''
abc!
def!
ghi!
jkl!
'''
Bir dize verildi:
'''
abc
def
ghi
jkl
'''
Bu dizeden aşağıdakini oluşturacak bir düzenli ifade yazın:
'''
! abc
! def
! ghi
! jkl
'''
Bir dize verildi:
'''
abc
def
ghi
jkl
'''
Bu dizeden aşağıdakini oluşturacak bir düzenli ifade yazın:
'''!
abc
def
ghi
jkl
!'''
Bir dize verildi:
'''
abc
def
ghi
jkl
'''
Bu dizeden aşağıdakini oluşturacak bir düzenli ifade yazın:
'''!
! abc
! def
! ghi
! jkl
!'''
Bir dize verildi:
'''
abc
def
ghi
jkl
'''
Bu dizeden aşağıdakini oluşturacak bir düzenli ifade yazın:
'''!
abc!
def!
ghi!
jkl!
!'''
Bir dize verildi:
'''
abc
def
ghi
jkl
'''
Bu dizeden aşağıdakini oluşturacak bir düzenli ifade yazın:
'''
!abc
!def
!ghi
!jkl
'''