Pengendali Pengulangan Aksara dalam Ungkapan Biasa
Terdapat situasi di mana kita ingin menyatakan,
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 atau lebih
kali?
Untuk ini, terdapat pengendali (kuantifier)
pengulangan: tambah + (satu atau lebih kali),
bintang * (sifar atau lebih kali) dan
soalan ? (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
Cari semua subrentetan mengikut corak aksara
'x', aksara 'a' satu atau lebih
kali, aksara 'x':
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:
'xx ! ! ! xbx'
Contoh
Cari semua subrentetan mengikut corak aksara
'x', aksara 'a' sifar atau lebih
kali, aksara 'x':
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:
'! ! ! ! xbx'
Contoh
Cari semua subrentetan mengikut corak aksara
'x', aksara 'a' sifar atau satu
kali, aksara 'x':
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:
'! ! xaax xbx'
Masalah Praktikal
Diberi rentetan:
let str = 'aa aba abba abbba abca abea';
Tulis ungkapan biasa yang akan mencari rentetan
'aba', 'abba', 'abbba'
mengikut corak: aksara 'a', aksara 'b'
sebarang bilangan kali, aksara 'a'.
Diberi rentetan:
let str = 'aa aba abba abbba abca abea';
Tulis ungkapan biasa yang akan mencari rentetan
'aa', 'aba', 'abba',
'abbba' mengikut corak: aksara 'a',
aksara 'b' sebarang bilangan kali (termasuk
tiada langsung), aksara 'a'.
Diberi rentetan:
let str = 'aa aba abba abbba abca abea';
Tulis ungkapan biasa yang akan mencari rentetan
'aa', 'aba' mengikut corak: aksara
'a', aksara 'b' satu kali atau
tiada langsung, aksara 'a'.
Diberi rentetan:
let str = 'aa aba abba abbba abca abea';
Tulis ungkapan biasa yang akan mencari rentetan
'aa', 'aba', 'abba',
'abbba', tanpa mengambil 'abca'
dan 'abea'.