Kurung Kurawal dalam Ekspresi Reguler PHP
Operator +, *, ? bagus,
namun, dengan mereka tidak mungkin untuk menentukan
jumlah pengulangan yang spesifik. Dalam hal ini, Anda akan dibantu
oleh operator {}.
Cara kerjanya sebagai berikut: {5}
- lima pengulangan, {2,5} - diulang
dari dua hingga lima (keduanya inklusif), {2,}
- diulang dua kali atau lebih.
Contoh
Dalam contoh ini, pola pencarian terlihat 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, yang akan tersimpan dalam variabel adalah sebagai berikut:
'xx ! ! xaaax'
Contoh
Dalam contoh ini, pola pencarian terlihat 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, yang akan tersimpan dalam variabel adalah sebagai berikut:
'xx xax ! !'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
huruf 'x', huruf 'a' tiga
kali, huruf 'x':
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{3}x#', '!', $str);
?>
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'xx xax xaax !'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
huruf 'a' sepuluh kali:
<?php
$str = 'aaa aaaaaaaaaa aaa';
$res = preg_replace('#a{10}#', '!', $str);
?>
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'aaa ! aaa'
Contoh
Dalam contoh ini, penulis kode menginginkan pola seperti ini:
huruf 'x', huruf 'a' tiga
kali kali atau kurang, huruf 'x',
tetapi, sayangnya, ini - {,3} -
tidak bekerja. Perlu ditentukan secara eksplisit:
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{1,3}x#', '!', $str);
?>
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'xx ! ! !'
Contoh
Nol juga diperbolehkan:
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{0,3}x#', '!', $str);
?>
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'! ! ! !'
Tugas Praktis
Diberikan string:
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Tuliskan ekspresi reguler yang akan menemukan string
'abba', 'abbba', 'abbbba'
dan hanya mereka.
Diberikan string:
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Tuliskan ekspresi reguler yang akan menemukan string
berbentuk 'aba', di mana 'b' muncul
kurang dari tiga kali (inklusif).
Diberikan string:
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Tuliskan ekspresi reguler yang akan menemukan string
berbentuk 'aba', di mana 'b' muncul
lebih dari empat kali (inklusif).