PHP Regular Expression: Pencocokan Pola Teks

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

PolaArti
\dSatu digit angka
\wHuruf, 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).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *