Home » PHP » Reguler Ekpresi di PHP – Kode dan Contohnya

Reguler Ekpresi di PHP – Kode dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Apa itu Ekspresi Reguler?

Ekspresi reguler adalah rangkaian karakter yang membentuk pola pencarian. Saat mencari data dalam teks, kita bisa menggunakan pola pencarian ini untuk menjelaskan apa yang dicari.

Ekspresi reguler dapat berupa satu karakter atau pola yang lebih rumit.

Ekspresi reguler dapat digunakan untuk melakukan semua jenis pencarian teks dan operasi penggantian teks.

Sintaksis

Di PHP, ekspresi reguler adalah string yang terdiri dari pembatas, pola, dan pengubah opsional.

$ exp = "/ dosenit/ i";

Dalam contoh di atas, / adalah pembatas, dosenit adalah pola yang dicari, dan i adalah pengubah yang membuat pencarian tidak peka huruf besar / kecil(case sensitive).

Pembatas(delimiter) dapat berupa karakter apa pun yang bukan huruf, angka, garis miring terbalik atau spasi. Pembatas yang paling umum adalah garis miring (/), tapi jika pola kita berisi garis miring ke depan, maka akan lebih mudah untuk memilih pembatas lain seperti # atau ~.

Fungsi Ekspresi Reguler

PHP menyediakan berbagai fungsi yang memungkinkan Anda menggunakan ekspresi reguler. Fungsi preg_match(), preg_match_all() dan preg_replace() adalah beberapa yang paling umum digunakan:

FunctionDeskripsi
preg_match()Mengembalikan 1 jika pola ditemukan dalam string dan 0 jika tidak
preg_match_all()Mengembalikan frekuensi ditemukannya pola dalam string, yang mungkin juga 0
preg_replace()Mengembalikan string baru di mana pola yang cocok telah diganti dengan string lain

Menggunakan preg_match_all ()

Fungsi preg_match_all() akan memberi tahu kita berapa banyak kecocokan yang ditemukan untuk pola dalam sebuah string.

Contoh :

Gunakan ekspresi reguler untuk melakukan penghitungan tidak peka huruf besar kecil dari jumlah kemunculan “ain” dalam string:

<?php
$str = "Visit Dosenit";
$pattern = "/Dosenit/i";
echo preg_match($pattern, $str); // Outputs 1
?>

Menggunakan preg_replace ()

Fungsi preg_replace() akan menggantikan semua kecocokan pola dalam sebuah string dengan string lain.

Contoh :

Gunakan ekspresi reguler peka huruf besar kecil untuk mengganti Microsoft dengan Dosenit dalam string:

<?php
$str = "Visit Microsoft!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "Dosenit", $str); // Outputs "Visit Dosenit!"
?>

Pengubah Ekspresi Reguler

Pengubah dapat mengubah cara pencarian dilakukan.

PengubahDeskripsi
iMelakukan penelusuran tidak peka huruf besar / kecil
mMelakukan pencarian multiline (pola yang mencari awal atau akhir string akan cocok dengan awal atau akhir setiap baris)
uMengaktifkan pencocokan yang benar dari pola enkode UTF-8

Pola Ekspresi Reguler

Tanda kurung digunakan untuk menemukan berbagai karakter :

EkspresiDeskripsi
[abc]Temukan satu karakter dari opsi di antara tanda kurung
[^abc]Temukan karakter apa pun BUKAN di antara tanda kurung
[0-9]Temukan satu karakter dari rentang 0 hingga 9

Metakarakter

Metakarakter adalah karakter dengan arti khusus :

MetakarakterDeskripsi
|Temukan kecocokan untuk salah satu pola yang dipisahkan oleh | seperti dalam: kucing | anjing | ikan
.Temukan hanya satu contoh dari karakter apa pun
^Menemukan kecocokan sebagai awal string seperti di: ^ Hello
$Menemukan kecocokan di akhir string seperti di: Dunia $
\dTemukan digit
\sTemukan karakter spasi
\bTemukan kecocokan di awal kata seperti ini: \ bWORD, atau di akhir kata seperti ini: WORD \ b
\uxxxxTemukan karakter Unicode yang ditentukan oleh angka heksadesimal xxxx

Quantifiers

Quantifier (pengukur) menentukan jumlah :

QuantifierDeskripsi
n+Cocok semua string yang mengandung setidaknya satu n
n*Mencocokkan string apa pun yang berisi nol atau lebih kemunculan n
n?Cocok dengan string apa pun yang berisi nol atau satu kemunculan n
n{x}Cocok dengan string apa pun yang berisi urutan X n
n{x,y}Mencocokkan string apa pun yang berisi urutan X ke Y n
n{x,}Cocok dengan string apa pun yang berisi urutan setidaknya X n

Catatan: Jika ekspresi kita perlu mencari salah satu karakter khusus, kita bisa menggunakan garis miring terbalik (\) untuk menghindarinya. Misalnya, untuk mencari satu atau lebih tanda tanya bisa gunakan ekspresi berikut: $pattern = '/ \? + /';

Pengelompokan

Kita bisa menggunakan tanda kurung () untuk menerapkan pembilang ke seluruh pola. Mereka juga dapat digunakan untuk memilih bagian dari pola yang akan digunakan sebagai pertandingan.

Contoh :

Gunakan pengelompokan untuk mencari kata “banana” dengan mencari ba diikuti dengan dua contoh na:

<?php
$str = "Apples and bananas.";
$pattern = "/ba(na){2}/i";
echo preg_match($pattern, $str); // Output 1
?>

You may also like