Pencocokan dengan preg_match
Uji string terhadap pola dan tangkap grup.
Pencocokan dengan preg_match adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.
Tanda Tangan preg_match()
preg_match($pattern, $subject, &$matches) mengembalikan 1 jika pola cocok, 0 jika tidak cocok, atau false jika terjadi kesalahan.
Pengujian Pencocokan Sederhana
Gunakan preg_match sebagai pengujian boolean — nilai kembalian 1 berarti ditemukan.
<?php
$email = "user@example.com";
if (preg_match('/\w+@\w+\.\w+/', $email)) {
echo "Looks like an email";
}Grup Penangkapan dengan $matches
$matches[0] adalah kecocokan lengkap; $matches[1], $matches[2]... adalah grup penangkapan.
<?php
preg_match('/^(\w+)\s(\w+)$/', "John Smith", $m);
echo $m[1]; // "John"
echo $m[2]; // "Smith"Penangkapan Bernama
Gunakan (?P<name>...) untuk grup penangkapan bernama — akses melalui $matches["name"].
<?php
preg_match('/(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})/',
'2025-06-15', $m);
echo $m['year']; // 2025Parameter Offset
Parameter ke-4 menentukan posisi dalam string untuk memulai pencocokan (offset byte).
<?php
preg_match('/\d+/', 'abc123def456', $m, 0, 3);
echo $m[0]; // "123"PREG_OFFSET_CAPTURE
Dapatkan nilai kecocokan sekaligus offset byte-nya.
<?php
preg_match('/\d+/', "price: 42 USD", $m, PREG_OFFSET_CAPTURE);
echo $m[0][0]; // "42"
echo $m[0][1]; // 7 (byte offset)preg_match_all()
preg_match_all() menemukan semua kecocokan dan mengembalikan jumlahnya.
<?php
$html = '<a href="a.com">A</a> <a href="b.com">B</a>';
preg_match_all('/<a href="([^"]+)">/', $html, $m);
print_r($m[1]); // ["a.com", "b.com"]Contoh Validasi Email
Ekspresi reguler email yang praktis:
<?php
function isEmail(string $s): bool {
return (bool) preg_match(
'/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/',
$s
);
}Validasi Nomor Telepon
Validasi nomor telepon internasional:
<?php
preg_match('/^\+?[1-9]\d{7,14}$/', '+1234567890', $m);Menangani Kesalahan
Jika polanya tidak valid, preg_match() mengembalikan false. Periksa dengan === false dan gunakan preg_last_error() untuk mengetahui detailnya.
Kiat Kinerja
PHP menyimpan pola PCRE yang telah dikompilasi dalam cache secara internal — jika Anda menggunakan regex yang sama dalam perulangan, tidak diperlukan langkah tambahan.
Kapan Tidak Menggunakan Regex
Untuk data terstruktur, PHP memiliki fungsi khusus: filter_var(FILTER_VALIDATE_EMAIL), parse_url() — lebih baik gunakan fungsi tersebut daripada regex buatan sendiri.
Pemeriksaan Singkat
Apa isi $matches[0] setelah preg_match?
Belajar PHP dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 49
- Pelajaran
- 195
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pencocokan dengan preg_match” gratis?
Ya — teks lengkap “Pencocokan dengan preg_match” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pencocokan dengan preg_match”?
Uji string terhadap pola dan tangkap grup. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai PHP Academy?
Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Pencocokan dengan preg_match” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?
Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar-Dasar Sintaks Regex
- Pencocokan dengan preg_match
- Mengganti Teks dengan preg_replace
- Pemisahan dan Pola Praktis