PHP Regular Expression (sering disingkat regex) adalah pola untuk mencari, mencocokkan, atau mengganti teks berdasarkan aturan tertentu. Meski awalnya terlihat rumit, regex sangat ampuh untuk tugas seperti memvalidasi format email, nomor telepon, atau mengekstrak data dari teks.
Kapan Regex Berguna?
Bayangkan Anda perlu memastikan input hanya berisi angka, atau ingin mengambil semua tautan dari sebuah artikel. Melakukan ini secara manual sangat merepotkan, tetapi dengan satu pola regex, tugas tersebut selesai dalam satu baris.
Mencocokkan Pola dengan preg_match()
Fungsi preg_match() memeriksa apakah sebuah pola cocok, dan mengembalikan 1 jika ya:
<?php
$teks = "Hubungi saya di budi@contoh.com";
if (preg_match("/[a-z0-9._]+@[a-z0-9.]+/i", $teks, $cocok)) {
echo "Email ditemukan: " . $cocok[0];
}
?>
Pola diapit tanda garis miring /.../, dan huruf i di akhir berarti pencocokan tidak membedakan huruf besar/kecil.
Mengganti Teks dengan preg_replace()
<?php
echo preg_replace("/\d+/", "#", "Nomor saya 08123456");
// Output: Nomor saya #
?>
Mengambil Semua Kecocokan
<?php
preg_match_all("/\d+/", "harga 100, diskon 20", $hasil);
print_r($hasil[0]); // Array ( [0] => 100 [1] => 20 )
?>
Karakter Pola yang Sering Dipakai
| Pola | Arti |
|---|---|
\d | Satu digit angka |
\w | Huruf, angka, atau garis bawah |
. | Sembarang karakter |
+ | Satu atau lebih |
* | Nol atau lebih |
^ $ | Awal / akhir string |
Contoh Praktik: Validasi Angka Saja
<?php
$input = "12345";
if (preg_match("/^\d+$/", $input)) {
echo "Valid, hanya angka";
}
?>
Kesimpulan
PHP Regular Expression memang butuh latihan, tetapi sangat berharga untuk mengolah dan memvalidasi teks dengan pola kompleks. Mulailah dari pola sederhana, lalu tingkatkan secara bertahap.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

