Operator Pengulangan Karakter dalam Regex

Ada situasi di mana kita ingin menunjukkan, bahwa sebuah karakter diulang sejumlah kali tertentu. Jika kita tahu persis jumlah pengulangannya, maka kita bisa menuliskannya beberapa kali - #aaaa#. Tapi apa yang harus dilakukan jika kita ingin mengatakan seperti ini: ulangi satu kali atau lebih?

Untuk ini ada operator (quantifier) pengulangan: plus + (satu kali atau lebih), tanda bintang * (nol kali atau lebih) dan tanda tanya ? (nol kali atau satu kali). Operator-operator ini berlaku untuk karakter yang berada di depannya.

Mari kita lihat cara kerja operator-operator ini pada contoh.

Contoh

Temukan semua substring sesuai pola huruf 'x', huruf 'a' satu kali atau lebih, huruf 'x':

php<?php
  $str = 'xx xax xaax xaaax xbx';
  $res = preg_replace('#xa+x#', '!', $str);
?>

Hasilnya, akan tersimpan di variabel sebagai berikut:

php'xx ! ! ! xbx'

Contoh

Temukan semua substring sesuai pola huruf 'x', huruf 'a' nol kali atau lebih, huruf 'x':

php<?php
  $str = 'xx xax xaax xaaax xbx';
  $res = preg_replace('#xa*x#', '!', $str);
?>

Hasilnya, akan tersimpan di variabel sebagai berikut:

php'! ! ! ! xbx'

Contoh

Temukan semua substring sesuai pola huruf 'x', huruf 'a' nol kali atau satu kali, huruf 'x':

php<?php
  $str = 'xx xax xaax xbx';
  $res = preg_replace('#xa?x#', '!', $str);
?>

Hasilnya, akan tersimpan di variabel sebagai berikut:

php'! ! xaax xbx'

Tugas Praktis

Задание 1

Diberikan string:

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

Tuliskan regex yang akan menemukan string sesuai pola: huruf 'a', huruf 'b' satu kali atau lebih, huruf 'a'.

Задание 2

Diberikan string:

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

Tuliskan regex yang akan menemukan string sesuai pola: huruf 'a', huruf 'b' nol kali atau lebih, huruf 'a'.

Задание 3

Diberikan string:

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

Tuliskan regex yang akan menemukan string sesuai pola: huruf 'a', huruf 'b' satu kali atau tidak sama sekali, huruf 'a'.

Задание 4

Diberikan string:

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

Tuliskan regex yang akan menemukan string 'aa', 'aba', 'abba', 'abbba', tanpa menangkap 'abca' dan 'abea'.