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
'''