Shumëvijshmëria në Regex Python
Shprehjet e rregullta kur punojnë me vargje shumëvijshe kanë veçoritë e veta. Le t'i shqyrtojmë ato duke përdorur si shembull vargun e mëposhtëm, që përmban karaktere të zakonshëm, karaktere të kalimit të rreshtit dhe tabulim:
pythontxt = '''111
222
333
444'''
Kalimi i rreshtit
Karakteret e kalimit të rreshtit mund të kapen
duke përdorur komandën '\n':
pythonres = re.sub('\n', '!', txt)
print(res)
Si rezultat, do të printohet vargu i mëposhtëm (hapësirat midis rreshtave janë tabulim):
python'111! 222! 333! 444'
Tabulimi
Karakteret e tabulimit mund të kapen duke përdorur
komandën '\t':
pythonres = re.sub('\t', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
python'''
!111
!222
!333
!444
'''
Puna e pikës
Komanda '.' për një varg shumëvijsh
nuk kap karakteret e kalimit të rreshtit:
pythonres = re.sub('.', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
python'''
!!!
!!!!
!!!!
!!!!
'''
Çdo karakter
Për të kapur të gjitha karakteret në një varg
shumëvijsh, përdoret një mashtrim i zgjuar në formën
e kombinimit [\s\S]. Një konstrukt i tillë
do të gjejë të gjitha karakteret e zakonshme dhe të gjitha kalimet
e rreshtit:
pythonres = re.sub('[\s\S]', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
python'!!!!!!!!!!!!!!!!!!'
Dollar
Komanda '$' në modalitetin shumëvijsh
do të kapë fundin e çdo rreshti:
pythonres = re.sub('$', '!', txt)
print(res)
Rezultati i ekzekutimit të kodit:
python'''
111!
222!
333!
444!
'''
Detyra praktike
Është dhënë vargu:
python'''
abc
def
ghi
jkl
'''
Shkruani një shprehje të rregullt që do ta shndërrojë këtë varg në vargun e mëposhtëm:
python'''
abc!
def!
ghi!
jkl!
'''
Është dhënë vargu:
python'''
abc
def
ghi
jkl
'''
Shkruani një shprehje të rregullt që do ta shndërrojë këtë varg në vargun e mëposhtëm:
python'''
! abc
! def
! ghi
! jkl
'''
Është dhënë vargu:
python'''
abc
def
ghi
jkl
'''
Shkruani një shprehje të rregullt që do ta shndërrojë këtë varg në vargun e mëposhtëm:
python'''!
abc
def
ghi
jkl
!'''
Është dhënë vargu:
python'''
abc
def
ghi
jkl
'''
Shkruani një shprehje të rregullt që do ta shndërrojë këtë varg në vargun e mëposhtëm:
python'''!
! abc
! def
! ghi
! jkl
!'''
Është dhënë vargu:
python'''
abc
def
ghi
jkl
'''
Shkruani një shprehje të rregullt që do ta shndërrojë këtë varg në vargun e mëposhtëm:
python'''!
abc!
def!
ghi!
jkl!
!'''
Është dhënë vargu:
python'''
abc
def
ghi
jkl
'''
Shkruani një shprehje të rregullt që do ta shndërrojë këtë varg në vargun e mëposhtëm:
python'''
!abc
!def
!ghi
!jkl
'''