Daudzrinduļņi Python regulārajās izteiksmēs
Regulārajām izteiksmēm, strādājot ar daudzrindu virknēm, ir savas īpatnības. Apskatīsim tās, izmantojot šādas virknes piemēru, kas satur parastās rakstzīmes, rindu pārsūtīšanas un tabulācijas simbolus:
txt = '''111
222
333
444'''
Rindas pārtraukums
Rindas pārtraukšanas simbolus var noķert, izmantojot
komandu '\n':
res = re.sub('\n', '!', txt)
print(res)
Rezultātā tiks izdrukāta šāda virkne (atstarpes starp rindām ir tabulācija):
'111! 222! 333! 444'
Tabulācija
Tabulācijas simbolus var noķert, izmantojot
komandu '\t':
res = re.sub('\t', '!', txt)
print(res)
Koda izpildes rezultāts:
'''
!111
!222
!333
!444
'''
Punkta darbība
Komanda '.' daudzrindu virknei
neuzķer rindas pārtraukšanas simbolus:
res = re.sub('.', '!', txt)
print(res)
Koda izpildes rezultāts:
'''
!!!
!!!!
!!!!
!!!!
'''
Jebkura rakstzīme
Lai noķertu visas rakstzīmes daudzrindu
virknē, tiek izmantots viltīgs paņēmiens -
kombinācija [\s\S]. Šāda konstrukcija
atradīs visas parastās rakstzīmes un visus rindu
pārtraukumus:
res = re.sub('[\s\S]', '!', txt)
print(res)
Koda izpildes rezultāts:
'!!!!!!!!!!!!!!!!!!'
Dolāra zīme
Komanda '
daudzrindu režīmā
uzķers katras rindas beigas:
res = re.sub('
', '!', txt)
print(res)
Koda izpildes rezultāts:
'''
111!
222!
333!
444!
'''
Praktiskie uzdevumi
Dota virkne:
'''
abc
def
ghi
jkl
'''
Uzrakstiet regulāro izteiksmi, kas no šīs virknes izveidos šādu:
'''
abc!
def!
ghi!
jkl!
'''
Dota virkne:
'''
abc
def
ghi
jkl
'''
Uzrakstiet regulāro izteiksmi, kas no šīs virknes izveidos šādu:
'''
! abc
! def
! ghi
! jkl
'''
Dota virkne:
'''
abc
def
ghi
jkl
'''
Uzrakstiet regulāro izteiksmi, kas no šīs virknes izveidos šādu:
'''!
abc
def
ghi
jkl
!'''
Dota virkne:
'''
abc
def
ghi
jkl
'''
Uzrakstiet regulāro izteiksmi, kas no šīs virknes izveidos šādu:
'''!
! abc
! def
! ghi
! jkl
!'''
Dota virkne:
'''
abc
def
ghi
jkl
'''
Uzrakstiet regulāro izteiksmi, kas no šīs virknes izveidos šādu:
'''!
abc!
def!
ghi!
jkl!
!'''
Dota virkne:
'''
abc
def
ghi
jkl
'''
Uzrakstiet regulāro izteiksmi, kas no šīs virknes izveidos šādu:
'''
!abc
!def
!ghi
!jkl
'''