Pengendali Pengulangan Aksara dalam Ungkapan Biasa

Terdapat situasi di mana kita ingin menunjukkan, bahawa sesuatu aksara diulang sebanyak bilangan kali yang tertentu. Jika kita tahu bilangan ulangan yang tepat, kita boleh menulisnya beberapa kali - #aaaa#. Tetapi apa yang perlu dilakukan jika kita ingin menyatakan seperti ini: ulang satu kali atau lebih?

Untuk tujuan ini, terdapat pengendali (kuantifier) pengulangan: tanda tambah + (satu kali atau lebih), tanda bintang * (sifar kali atau lebih) dan tanda soal ? (sifar atau satu kali). Pengendali-pengendali ini bertindak ke atas aksara yang berada di hadapannya.

Mari kita lihat cara pengendali ini berfungsi melalui contoh-contoh.

Contoh

Cari semua subrentetan mengikut corak aksara 'x', aksara 'a' satu kali atau lebih, aksara 'x':

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

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

php'xx ! ! ! xbx'

Contoh

Cari semua subrentetan mengikut corak aksara 'x', aksara 'a' sifar kali atau lebih, aksara 'x':

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

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

php'! ! ! ! xbx'

Contoh

Cari semua subrentetan mengikut corak aksara 'x', aksara 'a' sifar atau satu kali, aksara 'x':

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

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

php'! ! xaax xbx'

Masalah Praktikal

Задание 1

Diberi rentetan:

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

Tulis ungkapan biasa yang akan mencari rentetan mengikut corak: aksara 'a', aksara 'b' satu kali atau lebih, aksara 'a'.

Задание 2

Diberi rentetan:

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

Tulis ungkapan biasa yang akan mencari rentetan mengikut corak: aksara 'a', aksara 'b' sifar kali atau lebih, aksara 'a'.

Задание 3

Diberi rentetan:

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

Tulis ungkapan biasa yang akan mencari rentetan mengikut corak: aksara 'a', aksara 'b' satu kali atau tiada, aksara 'a'.

Задание 4

Diberi rentetan:

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

Tulis ungkapan biasa yang akan mencari rentetan 'aa', 'aba', 'abba', 'abbba', tanpa mengambil 'abca' dan 'abea'.