Tanda Kurung Kerinting Dalam Ungkapan Biasa PHP
Pengoperasi +, *, ? adalah bagus,
namun, dengan bantuan mereka, bilangan ulangan
spesifik tidak boleh ditentukan. Dalam kes ini, pengoperasi
{} akan membantu anda.
Ia berfungsi seperti berikut: {5}
- lima ulangan, {2,5} - diulang
daripada dua hingga lima (kedua-duanya termasuk), {2,}
- diulang dua kali atau lebih.
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
huruf 'x', huruf 'a' satu
atau dua kali, huruf 'x':
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{1,2}x#', '!', $str);
?>
Hasilnya, perkara 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':
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{2,}x#', '!', $str);
?>
Hasilnya, perkara 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':
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{3}x#', '!', $str);
?>
Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:
'xx xax xaax !'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
huruf 'a' sepuluh kali:
<?php
$str = 'aaa aaaaaaaaaa aaa';
$res = preg_replace('#a{10}#', '!', $str);
?>
Hasilnya, perkara 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',
namun, malangnya, ini - {,3} - tidak
berfungsi. Perlu dinyatakan dengan jelas:
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{1,3}x#', '!', $str);
?>
Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:
'xx ! ! !'
Contoh
Sifar juga dibenarkan:
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{0,3}x#', '!', $str);
?>
Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:
'! ! ! !'
Masalah Praktikal
Diberi rentetan:
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Tulis ungkapan biasa yang akan mencari rentetan
'abba', 'abbba', 'abbbba'
dan hanya mereka.
Diberi rentetan:
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Tulis ungkapan biasa yang akan mencari rentetan
jenis 'aba', di mana 'b' berlaku
kurang daripada tiga kali (termasuk).
Diberi rentetan:
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Tulis ungkapan biasa yang akan mencari rentetan
jenis 'aba', di mana 'b' berlaku
lebih daripada empat kali (termasuk).