Բազմատողությունը 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
`;