JavaScript тіліндегі тұрақты өрнектердегі 'немесе' командасы
Бұл сабақта біз
'|' командасын қарастырамыз, бұл
[ ] командасымен салыстырғанда 'немесе'-нің
күштірек нұсқасын білдіреді. Бұл команда
тұрақты өрнекті бірнеше бөлікке бөлуге мүмкіндік береді.
Сонымен қатар, ізделетін нәрсе не
тұрақты өрнектің бір бөлігіне, не басқа
бөлігіне сәйкес келуі мүмкін. Мысалдар арқылы қарастырайық.
Мысал
Бұл мысалда іздеу үшінгі өрнек: үш
'a' әрпі немесе үш 'b' әрпі:
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Нәтижесінде айнымалыға мынаны жазады:
'! ! abb'
Мысал
Бұл мысалда іздеу үшінгі өрнек: үш
'a' әрпі немесе 1-ден көп
'b' әрпі:
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Нәтижесінде айнымалыға мынаны жазады:
'! ! ! ! axx'
Мысал
Бұл мысалда іздеу үшінгі өрнек: бір немесе одан көп әріп немесе үш сан:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Нәтижесінде айнымалыға мынаны жазады:
'! ! ! 1 12 !'
Мысал
Тік сызық тұрақты өрнекті екі бөлікке емес, кез келген саң бөлікке бөлу үшін қолданылуы мүмкін:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Нәтижесінде айнымалыға мынаны жазады:
'! ! ! ddd'
Мысал
Егер тік сызық дөңгелек жақшалардың
ішінде тұрса, онда 'немесе' тек сол
жақшалардың ішінде ғана жұмыс істейді.
Мысал ретінде келесі өрнек бойынша жолдарды табайық:
басында 'a', немесе 'b'
бір немесе одан көп рет тұрады, содан кейін
екі 'x' әрпі тұрады:
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Нәтижесінде айнымалыға мынаны жазады:
'! ! ! exx'
Практикалық есептер
Мына жол берілген:
let str = 'aeeea aeea aea axa axxa axxxa';
Мына өрнек бойынша жолдарды табатын тұрақты өрнек жазыңыз:
шеттерінде 'a' әрптері тұрады,
ал олардың арасында - не 'e' әрпі кез келген
саң рет немесе 'x' әрпі кез келген
саң рет.
Мына жол берілген:
let str = 'aeeea aeea aea axa axxa axxxa';
Мына өрнек бойынша жолдарды табатын тұрақты өрнек жазыңыз:
шеттерінде 'a' әрптері тұрады,
ал олардың арасында - не 'e' әрпі екі рет
немесе 'x' әрпі кез келген саң рет.