Мулти-линија во регуларни изрази во 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
'''