Section Artikel
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:
Function | Deskripsi |
---|---|
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.
Pengubah | Deskripsi |
---|---|
i | Melakukan penelusuran tidak peka huruf besar / kecil |
m | Melakukan pencarian multiline (pola yang mencari awal atau akhir string akan cocok dengan awal atau akhir setiap baris) |
u | Mengaktifkan pencocokan yang benar dari pola enkode UTF-8 |
Pola Ekspresi Reguler
Tanda kurung digunakan untuk menemukan berbagai karakter :
Ekspresi | Deskripsi |
---|---|
[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 :
Metakarakter | Deskripsi |
---|---|
| | 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 $ |
\d | Temukan digit |
\s | Temukan karakter spasi |
\b | Temukan kecocokan di awal kata seperti ini: \ bWORD, atau di akhir kata seperti ini: WORD \ b |
\uxxxx | Temukan karakter Unicode yang ditentukan oleh angka heksadesimal xxxx |
Quantifiers
Quantifier (pengukur) menentukan jumlah :
Quantifier | Deskripsi |
---|---|
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 ?>