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' тамгасы каалаган жолу.