Բազմատողությունը Python-ի ռեգուլյար արտահայտություններում
Ռեգուլյար արտահայտությունները բազմատող տողերի հետ աշխատելիս ունեն իրենց առանձնահատկությունները: Եկեք դրանք ուսումնասիրենք հետևյալ տողի օրինակով, որը պարունակում է սովորական նիշեր, տողերի փոխանցման և տաբուլյացիայի նիշեր:
pythontxt = '''111
222
333
444'''
Տողի փոխանցում
Տողի փոխանցման նիշերը կարելի է բռնել օգտագործելով
'\n' հրամանը:
pythonres = re.sub('\n', '!', txt)
print(res)
Արդյունքում կարտածվի հետևյալ տողը (տողերի միջև եղած բացերը տաբուլյացիաներ են):
python'111! 222! 333! 444'
Տաբուլյացիա
Տաբուլյացիայի նիշերը կարելի է բռնել օգտագործելով
'\t' հրամանը:
pythonres = re.sub('\t', '!', txt)
print(res)
Կոդի կատարման արդյունքը:
python'''
!111
!222
!333
!444
'''
Կետի աշխատանքը
'.' հրամանը բազմատող տողի համար
չի բռնում տողի փոխանցման նիշերը:
pythonres = re.sub('.', '!', txt)
print(res)
Կոդի կատարման արդյունքը:
python'''
!!!
!!!!
!!!!
!!!!
'''
Ցանկացած նիշ
Բազմատող տողում բոլոր նիշերը բռնելու համար օգտագործվում է
[\s\S] խորամանկ հնարքը: Այս կոնստրուկցիան
կգտնի բոլոր սովորական նիշերը և բոլոր տողի փոխանցման նիշերը:
pythonres = re.sub('[\s\S]', '!', txt)
print(res)
Կոդի կատարման արդյունքը:
python'!!!!!!!!!!!!!!!!!!'
Դոլար
'$' հրամանը բազմատող ռեժիմում
կբռնի յուրաքանչյուր տողի վերջը:
pythonres = re.sub('$', '!', txt)
print(res)
Կոդի կատարման արդյունքը:
python'''
111!
222!
333!
444!
'''
Գործնական առաջադրանքներ
Տրված է տող.
python'''
abc
def
ghi
jkl
'''
Գրեք ռեգուլյար արտահայտություն, որը այս տողից կստանա հետևյալը.
python'''
abc!
def!
ghi!
jkl!
'''
Տրված է տող.
python'''
abc
def
ghi
jkl
'''
Գրեք ռեգուլյար արտահայտություն, որը այս տողից կստանա հետևյալը.
python'''
! abc
! def
! ghi
! jkl
'''
Տրված է տող.
python'''
abc
def
ghi
jkl
'''
Գրեք ռեգուլյար արտահայտություն, որը այս տողից կստանա հետևյալը.
python'''!
abc
def
ghi
jkl
!'''
Տրված է տող.
python'''
abc
def
ghi
jkl
'''
Գրեք ռեգուլյար արտահայտություն, որը այս տողից կստանա հետևյալը.
python'''!
! abc
! def
! ghi
! jkl
!'''
Տրված է տող.
python'''
abc
def
ghi
jkl
'''
Գրեք ռեգուլյար արտահայտություն, որը այս տողից կստանա հետևյալը.
python'''!
abc!
def!
ghi!
jkl!
!'''
Տրված է տող.
python'''
abc
def
ghi
jkl
'''
Գրեք ռեգուլյար արտահայտություն, որը այս տողից կստանա հետևյալը.
python'''
!abc
!def
!ghi
!jkl
'''