АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗jsSpRERO 97 of 294 menu

Аператары паўтарэння знакаў

Бываюць сітуацыі, калі мы хочам паказаць, што знак паўтараецца зададзеную колькасць разоў. Калі мы ведаем дакладную колькасць паўторванняў, то можна проста напісаць яго некалькі разоў - /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'.

byenru