Set Karakter dalam Ekspresi Reguler PHP
Grup karakter \d dan \w tidak
sangat fleksibel. Bahkan tugas sederhana seperti
menemukan semua huruf, tetapi bukan angka -
tidak dapat diselesaikan olehnya. Untuk tugas seperti itu,
sebaiknya gunakan tanda kurung siku, yang mewakili
operasi ATAU.
Tanda kurung siku menggantikan satu karakter,
mana saja yang tercantum di dalamnya. Sebagai contoh,
seperti ini: #x[abc]x# - kita mengatakan bahwa
di tepinya harus ada huruf x, dan di tengah
- satu karakter: atau 'a', atau 'b',
atau 'c'.
Setelah tanda kurung siku, operator pengulangan
dapat ditulis. Sebagai contoh, seperti ini: #x[abc]+x#
- kita mengatakan bahwa di antara x bisa ada
sejumlah karakter 'a', 'b'
dan 'c' - dalam kombinasi apa pun.
Tidak hanya dapat mendaftarkan karakter, tetapi juga membuat
grup karakter, dengan menulis di antara dua karakter
tanda hubung. Sebagai contoh, seperti ini: #[a-d]#
- kita mendapatkan semua karakter dari 'a' hingga
'd'.
Mari kita lihat contohnya.
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, huruf apa pun dari 'a'
hingga 'z':
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'! ! ! x@x'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, huruf apa pun dari 'a'
hingga 'k':
<?php
$str = 'xax xbx xmx x@x';
$res = preg_replace('#x[a-k]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'! ! xmx x@x'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, huruf apa pun dari 'A'
hingga 'Z':
<?php
$str = 'xax xBx xcx x@x';
$res = preg_replace('#x[A-Z]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'xax ! xcx x@x'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, angka apa pun dari 0 hingga 9:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[0-9]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'xax ! ! ! x@x'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, angka apa pun dari 3 hingga 7:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[3-7]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'xax x1x ! ! x@x'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, huruf apa pun dari 'a'
hingga 'z' atau angka dari 1 hingga 9:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[a-z1-9]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'! ! ! ! x@x'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, huruf apa pun dari 'a'
hingga 'z' atau huruf dari 'A' hingga
'Z':
<?php
$str = 'xax xBx xcx x5x x@x';
$res = preg_replace('#x[a-zA-Z]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'! ! ! x5x x@x'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, huruf apa pun dari 'a'
hingga 'z' atau angka 1, 2:
<?php
$str = 'xax xbx x1x x2x x3x';
$res = preg_replace('#x[a-z12]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'! ! ! ! x3x'
Contoh
Dalam contoh ini, pola pencarian terlihat seperti ini:
di antara x, huruf dari 'a' hingga 'z'
sejumlah 1 atau lebih:
<?php
$str = 'xx xabesx xaadx x123x xa3x';
$res = preg_replace('#x[a-z]+x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'xx ! ! ! x123x xa3x'
Contoh
Mari kita buat agar jumlah huruf bisa nol:
<?php
$str = 'xx xabesx xaadx x123x xa3x';
$res = preg_replace('#x[a-z]*x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam variabel:
'! ! ! x123x xa3x'
Tugas Praktis
Diberikan string:
<?php
$str = 'aba aea aca aza axa';
?>
Tuliskan ekspresi reguler yang akan menemukan pola berikut:
di tepinya ada huruf 'a',
dan di antaranya - huruf 'b', 'e'
atau 'x'.
Diberikan string:
<?php
$str = 'a1a a3a a7a a9a aba';
?>
Tuliskan ekspresi reguler yang akan menemukan pola berikut:
di tepinya ada huruf 'a',
dan di antaranya - angka dari 3 hingga 6.
Diberikan string:
<?php
$str = 'aba aea afa aha aga';
?>
Tuliskan ekspresi reguler yang akan menemukan pola berikut:
di tepinya ada huruf 'a',
dan di antaranya - huruf dari a hingga g.
Diberikan string:
<?php
$str = 'aba aea afa aha aga';
?>
Tuliskan ekspresi reguler yang akan menemukan pola berikut:
di tepinya ada huruf 'a',
dan di antaranya - huruf dari a hingga f dan dari j hingga z.
Diberikan string:
<?php
$str = 'aAa aea aEa aJa a3a';
?>
Tuliskan ekspresi reguler yang akan menemukan pola berikut:
di tepinya ada huruf 'a',
dan di antaranya - huruf dari a hingga f dan dari A hingga D.
Diberikan string:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Tuliskan ekspresi reguler yang akan menemukan pola berikut:
di tepinya ada huruf 'a',
dan di antaranya - huruf Latin kecil,
tanpa menyentuh yang lainnya.
Diberikan string:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Tuliskan ekspresi reguler yang akan menemukan pola berikut:
di tepinya ada huruf 'a',
dan di antaranya - huruf Latin kecil dan besar, tanpa menyentuh yang lainnya.
Diberikan string:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Tuliskan ekspresi reguler yang akan menemukan pola berikut:
di tepinya ada huruf 'a',
dan di antaranya - huruf Latin kecil dan angka, tanpa menyentuh yang lainnya.