Hari 19: String Lanjutan & Regex
55 min
Last updated 09 Apr 2026
Regular Expression di PHP
$email = "budi@example.com";
// preg_match — cek apakah cocok
if (preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/", $email)) {
echo "Email valid\n";
}
// preg_match_all — semua kecocokan
$teks = "Harga: Rp100000, Diskon: Rp20000";
preg_match_all("/\d+/", $teks, $matches);
print_r($matches[0]); // ["100000", "20000"]
// preg_replace — ganti dengan pattern
$hasil = preg_replace("/\d+/", "XXX", $teks);
echo $hasil; // Harga: RpXXX, Diskon: RpXXX
// preg_split — pecah dengan pattern
$kata = preg_split("/[\s,;]+/", "apel,mangga; pisang durian");
print_r($kata); // ["apel", "mangga", "pisang", "durian"]
Heredoc & Nowdoc
$nama = "Budi";
$pesan = <<
💡
Notice: $matches[0] berisi array semua string yang cocok. array_map("intval", ...) mengonversi string ke integer.
Assignment
Gunakan preg_match_all untuk ekstrak semua angka dari string "Skor: 95, 87, 73, 91, 68". Hitung rata-ratanya dan tampilkan "Rata-rata: X.XX".
Expected output:
Rata-rata: 82.80
PHP
index.php
Solution
Output