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':

javascriptlet str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

javascript'xx ! ! ! xbx'

Contoh

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

javascriptlet str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

javascript'! ! ! ! xbx'

Contoh

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

javascriptlet str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

javascript'! ! xaax xbx'

Masalah Praktikal

Задание 1

Diberi rentetan:

javascriptlet 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'.

Задание 2

Diberi rentetan:

javascriptlet 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'.

Задание 3

Diberi rentetan:

javascriptlet 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'.

Задание 4

Diberi rentetan:

javascriptlet str = 'aa aba abba abbba abca abea';

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