⊗pyPmREMl 50 of 129 menu

Wielowierszowość w wyrażeniach regularnych Pythona

Wyrażenia regularne przy pracy z wielowierszowymi ciągami znaków mają swoje szczególne cechy. Przyjrzyjmy się im na przykładzie następującego ciągu, zawierającego zwykłe znaki, znaki znaki nowej linii oraz tabulacji:

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

Znak nowej linii

Znaki nowej linii można złapać za pomocą polecenia '\n':

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

W rezultacie wyświetli się następujący ciąg (przerwy między wierszami - to tabulacja):

'111! 222! 333! 444'

Tabulacja

Znaki tabulacji można złapać za pomocą polecenia '\t':

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

Wynik wykonania kodu:

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

Działanie kropki

Polecenie '.' dla wielowierszowego ciągu nie łapie znaków nowej linii:

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

Wynik wykonania kodu:

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

Dowolny znak

Aby złapać wszystkie znaki w wielowierszowym ciągu, używa się sprytnej sztuczki w postaci kombinacji [\s\S]. Taka konstrukcja znajdzie wszystkie zwykłe znaki i wszystkie znaki nowej linii:

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

Wynik wykonania kodu:

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

Dolar

Polecenie '$' w trybie wielowierszowym będzie łapać koniec każdego wiersza:

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

Wynik wykonania kodu:

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

Zadania praktyczne

Dany jest ciąg:

''' abc def ghi jkl '''

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

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

Dany jest ciąg:

''' abc def ghi jkl '''

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

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

Dany jest ciąg:

''' abc def ghi jkl '''

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

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

Dany jest ciąg:

''' abc def ghi jkl '''

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

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

Dany jest ciąg:

''' abc def ghi jkl '''

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

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

Dany jest ciąg:

''' abc def ghi jkl '''

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

''' !abc !def !ghi !jkl '''
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć