მრავალსტრიქონიანობა JavaScript-ის რეგულარულ გამოსახულებებში
რეგულარულ გამოსახულებებს მრავალსტრიქონიან ტექსტებთან მუშაობისას აქვთ საკუთარი თავისებურებები. მოდით, გავეცნოთ მათ შემდეგი სტრიქონის მაგალითზე, რომელიც შეიცავს ჩვეულებრივ სიმბოლოებს, სტრიქონის გადატანის სიმბოლოებს და ტაბულაციებს:
let str = `111
222
333
444`;
სტრიქონის გადატანა
სტრიქონის გადატანის სიმბოლოების დასაჭერად
შეგიძლიათ გამოიყენოთ კონსტრუქცია '\n':
let res = str.replace(/\n/g, '!');
შედეგად, ცვლადში ჩაიწერება შემდეგი (ხაზებს შორის სივრცეები ტაბულაციებია):
`111! 222! 333! 444`;
ტაბულაცია
ტაბულაციის სიმბოლოების დასაჭერად
შეგიძლიათ გამოიყენოთ კონსტრუქცია '\t':
let res = str.replace(/\t/g, '!');
შედეგად, ცვლადში ჩაიწერება შემდეგი:
`
111
!222
!333
!444
`;
წერტილის მუშაობა
კონსტრუქცია '.' მრავალსტრიქონიან
ტექსტისთვის არ ეჭერს სტრიქონის გადატანის სიმბოლოებს:
let res = str.replace(/./g, '!');
შედეგად, ცვლადში ჩაიწერება შემდეგი:
`
!!!
!!!!
!!!!
!!!!
`;
ნებისმიერი სიმბოლო
ყველა სიმბოლოს დასაჭერად მრავალსტრიქონიან
ტექსტში, გამოიყენება ჭკვიანური მეთოდი
[\s\S] კონსტრუქციის სახით. ასეთი კონსტრუქცია იპოვის
ყველა ჩვეულებრივ სიმბოლოს და ყველა სტრიქონის გადატანას:
let res = str.replace(/[\s\S]/g, '!');
შედეგად, ცვლადში ჩაიწერება შემდეგი:
`!!!!!!!!!!!!!!!!!!`;
კარეტი (^)
მოდიფიკატორი 'm'-ის საშუალებით
შესაძლებელია მრავალსტრიქონიანი რეჟიმის ჩართვა.
ამ შემთხვევაში, კარეტი (^) იპოვის
თითოეული სტრიქონის დასაწყისს:
let res = str.replace(/^/gm, '!');
შედეგად, ცვლადში ჩაიწერება შემდეგი:
`
!111
!222
!333
!444
`;
დოლარი ($)
კონსტრუქცია '$' მრავალსტრიქონიან რეჟიმში
იპოვის თითოეული სტრიქონის დასასრულს:
let res = str.replace(/$/gm, '!');
შედეგად, ცვლადში ჩაიწერება შემდეგი:
`
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
`;