Символдорду кайталоо операторлору
Символ белгилүү бир жолу кайталанарын көрсөтүүнү каалаган учурлар болот.
Эгерде кайталоонун так санын билсек, анда жөн гана бир нече жолу жаза алабыз
- /aaaa/. Бирок, биз мындай дегибиз келсе: бир же бир нече жолу кайтала?
Бул үчүн кайталоо операторлору (квантификаторлору) бар: плюс + (бир же көп жолу),
жылдызча * (нөл же көп жолу) жана
суроо белгиси ? (нөл же бир жолу). Бул
операторлор алардын алдында турган символго таасир этет.
Келгиле, бул операторлордун иштешин мисалдар аркылуу карап көрөлү.
Мисал
'x' тамгасы, 'a' тамгасы бир же бир нече жолу, 'x' тамгасы үлгүсү боюнча бардык подстрокаларды табалы:
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
Натыйжада өзгөрмө төмөнкүлөр жазылат:
'xx ! ! ! xbx'
Мисал
'x' тамгасы, 'a' тамгасы нөл же бир нече жолу, 'x' тамгасы үлгүсү боюнча бардык подстрокаларды табалы:
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
Натыйжада өзгөрмө төмөнкүлөр жазылат:
'! ! ! ! xbx'
Мисал
'x' тамгасы, 'a' тамгасы нөл же бир жолу, 'x' тамгасы үлгүсү боюнча бардык подстрокаларды табалы:
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
Натыйжада өзгөрмө төмөнкүлөр жазылат:
'! ! xaax xbx'
Практикалык тапшырмалар
Төмөнкү сап берилген:
let str = 'aa aba abba abbba abca abea';
'aba', 'abba', 'abbba' саптарын таба турган
регулярдуу ифодону жазыңыз: 'a' тамгасы, 'b' тамгасы
кандайдыр бир жолу, 'a' тамгасы үлгүсү боюнча.
Төмөнкү сап берилген:
let str = 'aa aba abba abbba abca abea';
'aa', 'aba', 'abba',
'abbba' саптарын таба турган регулярдуу ифодону жазыңыз: 'a' тамгасы,
'b' тамгасы канча жолу болбосун (бирок нөл жолу дагы),
'a' тамгасы үлгүсү боюнча.
Төмөнкү сап берилген:
let str = 'aa aba abba abbba abca abea';
'aa', 'aba' саптарын таба турган регулярдуу ифодону жазыңыз: 'a' тамгасы,
'b' тамгасы бир жолу же нөл жолу, 'a' тамгасы үлгүсү боюнча.
Төмөнкү сап берилген:
let str = 'aa aba abba abbba abca abea';
'aa', 'aba', 'abba',
'abbba' саптарын таба турган, бирок 'abca'
жана 'abea' саптарын албаган регулярдуу ифодону жазыңыз.