⊗pyPmREMl 50 of 129 menu

Viacriadkovosť v regulárnych výrazoch Python

Regulárne výrazy pri práci s viacriadkovými reťazcami majú svoje špecifiká. Poďme sa s nimi vysporiadať na príklade nasledujúceho reťazca, ktorý obsahuje obyčajné znaky, znaky konca riadka a tabulátory:

txt = '''111 222 333 444'''

Koniec riadka

Znaky konca riadka je možné zachytiť pomocou príkazu '\n':

res = re.sub('\n', '!', txt) print(res)

Výsledkom bude nasledujúci reťazec (medzery medzi riadkami sú tabulátory):

'111! 222! 333! 444'

Tabulátor

Znaky tabulátora je možné zachytiť pomocou príkazu '\t':

res = re.sub('\t', '!', txt) print(res)

Výsledok vykonania kódu:

''' !111 !222 !333 !444 '''

Funkcia bodky

Príkaz '.' pre viacriadkový reťazec nezachytáva znaky konca riadka:

res = re.sub('.', '!', txt) print(res)

Výsledok vykonania kódu:

''' !!! !!!! !!!! !!!! '''

Ľubovoľný znak

Na zachytenie všetkých znakov vo viacriadkovom reťazci sa používa šikovný trik v podobe kombinácie [\s\S]. Takáto konštrukcia nájde všetky obyčajné znaky a všetky konce riadkov:

res = re.sub('[\s\S]', '!', txt) print(res)

Výsledok vykonania kódu:

'!!!!!!!!!!!!!!!!!!'

Dolár

Príkaz ' vo viacriadkovom režime bude zachytávať koniec každého riadku:

res = re.sub(' ', '!', txt) print(res)

Výsledok vykonania kódu:

''' 111! 222! 333! 444! '''

Praktické úlohy

Daný reťazec:

''' abc def ghi jkl '''

Napíšte regulárny výraz, ktorý z tohto reťazca urobí nasledujúci:

''' abc! def! ghi! jkl! '''

Daný reťazec:

''' abc def ghi jkl '''

Napíšte regulárny výraz, ktorý z tohto reťazca urobí nasledujúci:

''' ! abc ! def ! ghi ! jkl '''

Daný reťazec:

''' abc def ghi jkl '''

Napíšte regulárny výraz, ktorý z tohto reťazca urobí nasledujúci:

'''! abc def ghi jkl !'''

Daný reťazec:

''' abc def ghi jkl '''

Napíšte regulárny výraz, ktorý z tohto reťazca urobí nasledujúci:

'''! ! abc ! def ! ghi ! jkl !'''

Daný reťazec:

''' abc def ghi jkl '''

Napíšte regulárny výraz, ktorý z tohto reťazca urobí nasledujúci:

'''! abc! def! ghi! jkl! !'''

Daný reťazec:

''' abc def ghi jkl '''

Napíšte regulárny výraz, ktorý z tohto reťazca urobí nasledujúci:

''' !abc !def !ghi !jkl '''
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť