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
`;