JavaScript тилдеги регулярдуу туюнтмалардагы символдордун топтору
Бирден символдордун бүтүн тобун тандап алууга мүмкүндүк берген атайын буйруктар бар.
\d буйругу 0дон 9га чейинки санды билдирет.
\w буйругу санды, латын тамгасын же бастырма белгисин билдирет.
\s буйругу боштук же боштук символун билдирет:
боштук, сап айландыруу, табуляция. Буйруктун маанисин тескерисинче жазып,
чоң тамга менен жазып койсо болот: мисалы, эгерде \d - сан болсо,
анда \D - сан эмес.
Мисал
Келгиле, бардык сандарды табалы:
let str = '1 12 123';
let res = str.replace(/\d/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'! !! !!!'
Мисал
Кайталоо операторлору буйрук-топторду бир бүтүн катары эсептейт, башкача айтканда
топтоштуруучу кашаалар керек эмес. Төмөнкү мисалда издөө үлгүсү төмөнкүдөй көрүнөт:
0дон 9га чейинки сан бир же бир нече жолу:
let str = '1 12 123 abc @@@';
let res = str.replace(/\d+/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'! ! ! abc @@@'
Мисал
Төмөнкү мисалда издөө үлгүсү төмөнкүдөй көрүнөт:
каалаган нерсе бир же бир нече жолу,
бирок 0дон 9га чейинки сан эмес:
let str = '123abc3@@';
let res = str.replace(/\D+/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'123!3!'
Мисал
Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт: боштук символу бир жолу:
let str = '1 12 123 abc @@@';
let res = str.replace(/\s/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'1!12!123!abc!@@@'
Мисал
Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт:
ЭМЕС боштук символу бир же бир нече жолу.
Боштуктар менен бөлүнгөн бардык подсаптар
'!' менен алмаштырылат:
let str = '1 12 123 abc @@@';
let res = str.replace(/\S+/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'! ! ! ! !'
Мисал
Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт:
сан же тамга бир же бир нече жолу.
Сандардан жана тамгалардан турган бардык подсаптар
'!' менен алмаштырылат:
let str = '1 12 123a Abc @@@';
let res = str.replace(/\w+/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'! ! ! ! @@@'
Мисал
Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт:
ЭМЕС сан жана ЭМЕС тамга бир же бир нече жолу.
Биздин учурда бул аныктамага
'@@@' жана бардык боштуктар да (алар да
сан да, тамга да эмес) туура келет. Эскертип койолу,
аягындагы бир '!' - алгачкысында боштук бар
' @@@' сабына айландырылган:
let str = '1 12 123 Abc @@@';
let res = str.replace(/\W+/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'1!12!123!Abc!'
Практикалык тапшырмалар
Сап берилди:
let str = 'a1a a2a a3a a4a a5a aba aca';
Регулярдуу туюнтма жазыңыз, ал
чети 'a' тамгалары менен,
алардын ортосунда бир сан бар саптарды табат.
Сап берилди:
let str = 'a1a a22a a333a a4444a a55555a aba aca';
Регулярдуу туюнтма жазыңыз, ал
чети 'a' тамгалары менен,
алардын ортосунда каалаган канча сан бар саптарды табат.
Сап берилди:
let str = 'aa a1a a22a a333a a4444a a55555a aba aca';
Регулярдуу туюнтма жазыңыз, ал
чети 'a' тамгалары менен,
алардын ортосунда каалаган канча сан бар (анын ичинде
нөл сан да, башкача айтканда 'aa' сабы да) саптарды табат.
Сап берилди:
let str = 'avb a1b a2b a3b a4b a5b abb acb';
Регулярдуу туюнтма жазыңыз, ал төмөнкү түрдөгү саптарды
табат: чети 'a' жана 'b' тамгалары менен,
алардын ортосунда - сан эмес жана боштук эмес.
Сап берилди:
let str = 'ave a#b a2b a$b a4b a5b a-b acb';
Регулярдуу туюнтма жазыңыз, ал төмөнкү түрдөгү саптарды
табат: чети 'a' жана 'b' тамгалары менен,
алардын ортосунда - тамга эмес, сан эмес жана боштук эмес.
Сап берилди:
let str = 'ave a#a a2a a$a a4a a5a a-a aca';
Регулярдуу туюнтма жазыңыз, ал бардык боштуктарды
'!' менен алмаштырат.