Tanda Kurung Kerinting dalam Ungkapan Biasa JavaScript
Pengoperasi '+', '*', '?'
adalah bagus, namun, dengan bantuan mereka, anda tidak boleh menentukan
bilangan pengulangan yang spesifik. Dalam kes ini
pengoperasi {} akan membantu anda.
Ia berfungsi seperti berikut: {5}
- lima pengulangan, {2,5} – diulang
dari dua hingga lima (kedua-duanya termasuk), {2,}
- diulang dua kali atau lebih. Sila ambil perhatian
bahawa pilihan ini - {,2}
- tidak wujud. Lihat contoh:
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
huruf 'x', huruf 'a' satu
atau dua kali, huruf 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,2}x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'xx ! ! xaaax'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
huruf 'x', huruf 'a' dua
kali atau lebih, huruf 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{2,}x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'xx xax ! !'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
huruf 'x', huruf 'a' tiga
kali, huruf 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{3}x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'xx xax xaax !'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
huruf 'a' sepuluh kali:
let str = 'aaa aaaaaaaaaa aaa';
let res = str.replace(/a{10}/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'aaa ! aaa'
Contoh
Dalam contoh ini, penulis kod mahukan corak sedemikian:
huruf 'x', huruf 'a' tiga
kali dan kurang, huruf 'x',
tetapi, malangnya, ini - {,3} - tidak berfungsi.
Perlu dinyatakan secara jelas:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,3}x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'xx ! ! !'
Contoh
Sifar juga dibenarkan:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{0,3}x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'! ! ! !'
Masalah Praktikal
Diberi rentetan:
let str = 'aa aba abba abbba abbbba abbbbba';
Tulis ungkapan biasa yang akan mencari rentetan
'abba', 'abbba', 'abbbba'
dan hanya mereka.
Diberi rentetan:
let str = 'aa aba abba abbba abbbba abbbbba';
Tulis ungkapan biasa yang akan mencari rentetan
jenis 'aba', di mana 'b' berlaku
kurang daripada 3 kali (termasuk).
Diberi rentetan:
let str = 'aa aba abba abbba abbbba abbbbba';
Tulis ungkapan biasa yang akan mencari rentetan
jenis 'aba', di mana 'b' berlaku
lebih daripada 4 kali (termasuk).