JavaScript регуляр ифодалардаги кайри ёйилган каварчак
'+', '*', '?' операторлари
яхши, аммо, улар ёрдамида такрорланишнинг аниқ
сонини кўрсатиб бўлмайди. Бу ҳолда
{} оператори сизга ёрдамга келади.
У шундай ишлайди: {5}
- беш марта такрорланиш, {2,5} – иккидан бешгача такрорланиш
(иккаласи ҳам киради), {2,}
- икки ва ундан кўп марта такрорланиш. Эътиборингизни
шунга қаратингки, {,2} варианти
мавжуд эмас. Мисолларга назар солинг:
Мисол
Ушбу мисолда қидируш намунаси шундай кўринади:
'x' ҳарф, 'a' ҳарф бир
ёки икки марта, 'x' ҳарф:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,2}x/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
'xx ! ! xaaax'
Мисол
Ушбу мисолда қидируш намунаси шундай кўринади:
'x' ҳарф, 'a' ҳарф икки
марта ва ундан кўп, 'x' ҳарф:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{2,}x/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
'xx xax ! !'
Мисол
Ушбу мисолда қидируш намунаси шундай кўринади:
'x' ҳарф, 'a' ҳарф уч
марта, 'x' ҳарф:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{3}x/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
'xx xax xaax !'
Мисол
Ушбу мисолда қидируш намунаси шундай кўринади:
'a' ҳарф ўн марта:
let str = 'aaa aaaaaaaaaa aaa';
let res = str.replace(/a{10}/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
'aaa ! aaa'
Мисол
Ушбу мисолда код муаллифи шундай намунани хохлаган:
'x' ҳарф, 'a' ҳарф уч
марта ва ундан кам, 'x' ҳарф,
аммо, афсуски, {,3} - ишламайди.
Аниқ кўрсатиш керак:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,3}x/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
'xx ! ! !'
Мисол
Нол ҳам рухсат этилган:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{0,3}x/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
'! ! ! !'
Амалий машқлар
Берилган сатр:
let str = 'aa aba abba abbba abbbba abbbbba';
'abba', 'abbba', 'abbbba'
сатрларини ва фақат уларни топадиган регуляр ифода ёзинг.
Берилган сатр:
let str = 'aa aba abba abbba abbbba abbbbba';
'aba' курринишли сатрларни, унда 'b'
3-дан кам (кира оқа) учрайдиган, топадиган регуляр ифода ёзинг.
Берилган сатр:
let str = 'aa aba abba abbba abbbba abbbbba';
'aba' курринишли сатрларни, унда 'b'
4-дан кўп (кира оқа) учрайдиган, топадиган регуляр ифода ёзинг.