მრავალსტრიქონიანობა პითონის რეგულარულ გამოსახულებებში
რეგულარულ გამოსახულებებს მრავალსტრიქონიან ტექსტთან მუშაობისას აქვთ თავისი თავისებურებები. მოდით გავეცნოთ მათ შემდეგი ტექსტის მაგალითზე, რომელიც შეიცავს ჩვეულებრივ სიმბოლოებს, ხაზგამყოფ სიმბოლოებს და ტაბულაციის სიმბოლოებს:
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
'''