Бисёрсатрӣ дар регулярияҳои 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
`;