⊗pyPmREMl 50 of 129 menu

Многоредовост в регулярните изрази на Python

Регулярните изрази при работа с многоредови низове имат своите особености. Нека ги разгледаме с примера на следния низ, съдържащ обикновени символи, символи за нов ред и табулации:

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

Нов ред

Символите за нов ред могат да бъдат уловени с помощта на командата '\n':

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

В резултат ще се изведе следният низ (интервалите между редовете са табулации):

'111! 222! 333! 444'

Табулация

Символите за табулация могат да бъдат уловени с помощта на командата '\t':

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

Резултат от изпълнението на кода:

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

Поведение на точката

Командата '.' за многоредов низ не улавя символите за нов ред:

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

Резултат от изпълнението на кода:

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

Всеки символ

За да уловите всички символи в многоредов низ, се използва хитрият подход на комбинацията [\s\S]. Такава конструкция ще намери всички обикновени символи и всички нови редове:

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

Резултат от изпълнението на кода:

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

Долар

Командата '$' в многоредов режим ще улавя края на всеки ред:

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

Резултат от изпълнението на кода:

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

Практически задачи

Даден е низ:

''' abc def ghi jkl '''

Напишете регулярен израз, който ще преобразува този низ в следния:

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

Даден е низ:

''' abc def ghi jkl '''

Напишете регулярен израз, който ще преобразува този низ в следния:

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

Даден е низ:

''' abc def ghi jkl '''

Напишете регулярен израз, който ще преобразува този низ в следния:

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

Даден е низ:

''' abc def ghi jkl '''

Напишете регулярен израз, който ще преобразува този низ в следния:

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

Даден е низ:

''' abc def ghi jkl '''

Напишете регулярен израз, който ще преобразува този низ в следния:

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

Даден е низ:

''' abc def ghi jkl '''

Напишете регулярен израз, който ще преобразува този низ в следния:

''' !abc !def !ghi !jkl '''
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне