PHP preg_match(): Ekspresi Reguler (Regex)

โšก Ringkasan Cerdas

Ekspresi Reguler di PHP adalah alat pencocokan pola yang memvalidasi, memisahkan, dan mengganti teks dalam satu ekspresi. Panduan ini mencakup fungsi inti preg_match, preg_split, dan preg_replace, menjelaskan metakarakter umum, dan membangun pola validasi email yang berfungsi langkah demi langkah.

  • ๐Ÿงฉ Apa itu Regex: Ekspresi reguler adalah pola yang mendeskripsikan teks, memungkinkan suatu fungsi untuk memvalidasi, mencari, atau mengubah string.
  • โœ… preg_match: Fungsi preg_match menguji apakah suatu pola muncul dalam sebuah string dan mengembalikan nilai true pada kecocokan pertama, ideal untuk validasi.
  • ๏ธ pemisahan kehamilan: Fungsi preg_split memecah string menjadi array di setiap tempat pola tersebut muncul, misalnya memisahkan kalimat berdasarkan spasi.
  • ๐Ÿ” preg_replace: Fungsi preg_replace menemukan setiap kecocokan pola dan menggantinya dengan teks baru, berguna untuk pembuatan templat dan penyorotan.
  • ๐Ÿ”ค Metakarakter: Simbol seperti ., ^, $, *, dan + membangun pola yang kompleks, misalnya mengaitkan kecocokan ke awal atau akhir.
  • ๐Ÿ“ง Pola Email: Kelas karakter dan kuantifikasi digabungkan menjadi satu pola yang memeriksa apakah alamat email tersebut terbentuk dengan benar.
  • ๐Ÿค– Bantuan AI: Alat AI dapat membuat ekspresi reguler dari deskripsi sederhana dan menjelaskan atau memperbaiki pola kompleks yang sudah ada.

Ekspresi Reguler PHP

Apa itu ekspresi reguler di PHP?

Ekspresi reguler PHPEkspresi reguler, juga dikenal sebagai regex, adalah alat pencocokan pola yang ampuh yang dapat dilakukan dalam satu ekspresi. Ekspresi reguler menggunakan karakter khusus seperti +, -, dan ^ untuk membuat ekspresi yang kompleks. Ekspresi ini dapat membantu Anda menyelesaikan tugas-tugas seperti memvalidasi alamat email, alamat IP, dan banyak lagi.

Mengapa menggunakan ekspresi reguler

  • Ekspresi reguler PHP menyederhanakan identifikasi pola dalam data string dengan memanggil satu fungsi. Ini menghemat waktu pengkodean kita.
  • Saat memvalidasi input pengguna seperti alamat email, nama domain, nomor telepon, dan alamat IP.
  • Menyoroti kata kunci dalam hasil pencarian
  • Saat membuat template HTML khusus. Regex di PHP dapat digunakan untuk mengidentifikasi tag template dan menggantinya dengan data sebenarnya.

Fungsi Ekspresi Reguler bawaan di PHP

PHP memiliki fungsi bawaan yang memungkinkan kita untuk bekerja dengan ekspresi reguler, yang akan kita pelajari dalam tutorial ini. Mari kita lihat fungsi ekspresi reguler yang umum digunakan di PHP.

  • Fungsi `preg_match()` di PHP digunakan untuk melakukan pencocokan pola pada sebuah string. Fungsi ini mengembalikan nilai `true` jika ditemukan kecocokan dan `false` jika tidak ditemukan kecocokan.
  • Fungsi preg_split() di PHP digunakan untuk mencocokkan pola pada sebuah string dan kemudian memisahkan hasilnya ke dalam array numerik.
  • preg_replace() di PHP โ€“ fungsi ini digunakan untuk melakukan pencocokan pola pada string dan kemudian mengganti pencocokan dengan teks yang ditentukan.

Berikut adalah sintaks untuk fungsi ekspresi reguler seperti preg_match(), preg_split(), atau preg_replace().

<?php
function_name('/pattern/',subject);
?>

SINI,

  • โ€œfunction_name(โ€ฆ)โ€ bisa berupa preg_match(), preg_split(), atau preg_replace().
  • โ€œ/โ€ฆ/โ€ garis miring menunjukkan awal dan akhir ekspresi reguler kita.
  • โ€œ'/pattern/'โ€ adalah pola yang perlu kita cocokkan.
  • "subjek" adalah string teks yang akan dicocokkan

Sekarang mari kita lihat contoh praktis yang mengimplementasikan fungsi regex PHP di atas.

Preg_match() di PHP

Contoh pertama menggunakan fungsi preg_match() untuk melakukan pencocokan pola sederhana untuk kata guru dalam suatu teks yang diberikan. URL.

Kode di bawah ini menunjukkan implementasi fungsi preg_match() untuk contoh di atas.

<?php
$my_url = "www.guru99.com";
if (preg_match("/guru/", $my_url))
{
echo "the url $my_url contains guru";
}
else
{
echo "the url $my_url does not contain guru";
}
?>

Jelajahi URL http://localhost/phptuts/preg_match_simple.php

Fungsi Ekspresi Reguler bawaan

Mari kita periksa bagian kode yang bertanggung jawab atas output kita, preg_match('/guru/', $my_url). DI SINI,

  • โ€œpreg_match(โ€ฆ)โ€ adalah fungsi regex PHP
  • โ€œ'/guru/'โ€ adalah pola ekspresi reguler yang harus dicocokkan
  • โ€œ$my_urlโ€ adalah variabel yang berisi teks yang akan dicocokkan.

PHP Preg_split()

Sekarang mari kita lihat contoh lain yang menggunakan fungsi preg_split().

Kami akan mengambil frase string dan meledakkannya menjadi sebuah array; pola yang akan dicocokkan adalah satu spasi.

String teks yang akan digunakan dalam contoh ini adalah โ€œSaya Suka Ekspresi Regulerโ€.

Kode di bawah ini mengilustrasikan implementasi contoh di atas.

<?php

$my_text = "I Love Regular Expressions";

$my_array = preg_split("/ /", $my_text);

print_r($my_array );

?>

Jelajahi URL http://localhost/phptuts/preg_split.php

PHP Preg_split()

PHP Preg_replace()

Sekarang mari kita lihat preg_replace(). Fungsi PHP yang melakukan pencocokan pola dan kemudian mengganti pola tersebut dengan sesuatu yang lain.

Kode di bawah ini mencari kata guru di a string.

Ini mengganti kata "guru" dengan kata "guru" yang dikelilingi oleh kode CSS yang menyoroti warna latar belakang.

<?php

$text = "We at Guru99 strive to make quality education affordable to the masses. Guru99.com";

$text = preg_replace("/Guru/", '<span style="background:yellow">Guru</span>', $text);

echo $text;

?>

Dengan asumsi Anda telah menyimpan file preg_replace.php, buka folder tersebut. URL http://localhost/phptuts/preg_replace.php

PHP Preg_replace()

Metakarakter Ekspresi Reguler

Contoh-contoh di atas menggunakan pola yang sangat mendasar. Metakarakter memungkinkan kita untuk melakukan pencocokan pola yang lebih kompleks, seperti menguji validitas alamat email. Sekarang mari kita lihat metakarakter yang umum digunakan.

Metakarakter Deskripsi Example
. Cocok dengan karakter apa pun kecuali baris baru /./ cocok dengan apa pun yang memiliki satu karakter
^ Mencocokkan bagian awal string atau mengecualikan karakter. /^PH/ cocok dengan string apa pun yang dimulai dengan PH
$ Mencocokkan pola di akhir string /com$/ cocok dengan guru99.com, yahoo.com, dll.
* Cocok dengan nol atau lebih karakter sebelumnya /com*/ cocok dengan komputer, komunikasi, dll.
+ Membutuhkan karakter sebelumnya muncul setidaknya sekali. /yah+oo/ cocok dengan yahoo
\ Digunakan untuk menghindari metakarakter /yahoo+\.com/ memperlakukan titik sebagai nilai literal
[...] Kelas karakter /[abc]/ cocok dengan a, b atau c
AZ Cocok dengan huruf kecil /az/ cocok dengan keren, bahagia dll.
AZ Cocok dengan huruf besar /AZ/ cocok dengan APA, BAGAIMANA, MENGAPA, dll.
0-9 Cocok dengan angka apa pun antara 0 dan 9 /0-4/ cocok dengan 0,1,2,3,4

Daftar di atas hanya memberikan metakarakter yang paling umum digunakan dalam ekspresi reguler.

Sekarang mari kita lihat contoh yang cukup kompleks yang memeriksa keabsahan alamat email.

<?php
$my_email = "name@company.com";
if (preg_match("/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/", $my_email)) {
echo "$my_email is a valid email address";
}
else
{
echo "$my_email is NOT a valid email address";
}
?>

Menjelaskan Pola Validasi Email

SINI,

  • โ€œ/โ€ฆ/โ€ memulai dan mengakhiri ekspresi reguler.
  • โ€œ^[a-zA-Z0-9._-]โ€ cocok dengan huruf besar atau kecil apa pun, angka antara 0 dan 9, serta titik, garis bawah, atau tanda hubung.
  • โ€œ+@[a-zA-Z0-9-]โ€ cocok dengan simbol @ yang diikuti oleh huruf kecil atau besar, angka antara 0 dan 9, atau tanda hubung.
  • โ€œ+\.[a-zA-Z.]{2,5}$/โ€ mengescape titik menggunakan garis miring terbalik, lalu mencocokkan huruf kecil atau besar apa pun dengan panjang karakter antara 2 dan 5 di akhir string.

Jelajahi URL http://localhost/phptuts/preg_match.php

Pola Validasi Email PHP

Seperti yang dapat Anda lihat dari uraian di atas, metakarakter sangat ampuh dalam hal mencocokkan pola.

Pertanyaan Umum Demo Slot

`preg_match` berhenti pada kecocokan pertama dan mengisi `$matches` dengan satu hasil tersebut. `preg_match_all` menemukan setiap kecocokan dalam string dan mengembalikan semuanya dalam array bersarang, yang cocok untuk...tracitem yang diulang.

Pengubah mengikuti pembatas penutup dan mengubah perilaku pencocokan. Pengubah i membuat pola tidak peka huruf besar/kecil, m memperlakukan setiap baris secara terpisah untuk ^ dan $, dan s memungkinkan titik untuk mencocokkan baris baru, seperti pada /guru/i.

Bungkus bagian-bagian pola dalam tanda kurung untuk membuat grup tangkapan. Setelah preg_match, kecocokan penuh ada di $matches[0] dan setiap grup mengikuti di $matches[1], $matches[2], dan seterusnya.

Ya. Jelaskan teks yang ingin Anda cocokkan, seperti nomor telepon atau format tanggal, dan AI dapat menghasilkan pola beserta contoh preg_match. Uji coba terhadap input nyata dan kasus ekstrem sebelum mengandalkannya.

Ya. Tempelkan polanya, dan AI dapat memecahnya token demi token, menjelaskan apa yang cocok dengan setiap bagian, dan menunjukkan mengapa pola tersebut gagal pada input tertentu, lalu menyarankan versi yang diperbaiki.

Ringkaslah postingan ini dengan: