Dasar dasar Regex PHP Part 1


Pada siang tadi saya mendapatkan kasus untuk membuat validasi inputan pendaftaran email didalam sebuah aplikasi, dengan ketentuan jika inputan email tersebut tidak sesuai dengan format penulisan standart maka inputan tersebut dinyatakan tidak valid, setelah sekian lama mencari kesana kesini akhirnya saya menemukan cara untuk menyelesaikan permasalahan tersebut yaitu dengan menggunakan regex.

Apa si Regex itu ??


Regex (  Regular Expression ) adalah sebuah konstruksi bahasa pemograman yang digunakan untuk mencocokkan teks berdasarkan pola-pola tertentu.


Dalam pembuatan program kadang kala kita diharuskan memfilter suatu text agar mendapatkan sebuaj nilai yang kita inginkan, semisalkan kita ingin memfilter suatu inputan mengandung angka atau tidak, nah disinilah penggunaan regex sangat membantu kita untuk memfilter inputan tersebut. Mari kita mulai mempraktekannya,

Penggunaan regex untuk memfilter angka

<?php

$teks = 'contohregex123213';

if(preg_match('/[0-9]+/i',$teks))
{
    echo "ada angka";
}else{
    echo "tidak ada angka";
}
?>

Sekarang kita jalankan maka outputnya akan muncul seperti ini :
ada angka

Pada contoh diatas fungsi regex untuk mengecek angka adalah [0-9]+, Itu artinya bahwa pola teks yang dicocokan harus mengandung salah satu atau lebih angka dari 0 sampai 9.

Sekarang kita coba rubah script tersebut dan dan hapus angka di variabel $teks,

<?php

$teks = 'contohregex';

if(preg_match('/[0-9]+/i',$teks))
{
    echo "ada angka";
}else{
    echo "tidak ada angka";
}
?>

Maka outputnya adalah :
tidak ada angka


Penggunaan Regex untuk mengecek karakter Awal

Pada contoh ini kita akan mencoba untuk mengecek karakter awal dari sebuah variabel misalkan kasus pengecekan nama depan seseorang :

 <?php
$string = 'asep sunarya';
if(preg_match("/^asep/", $string)) {
  echo 'Nama depan berawalan asep';
} else {
  echo 'Nama depan Tidak berawalan asep';
}
?>
 sekarang kita coba jalankan dan lihat outputnya

Nama depan berawalan asep

Tanda caping ( ^ ) yang diikuti karakter asep berarti bahwa string harus berawalan dengan asep. Sedangkan tanda slash berikutnya menandakan bahwa karakter setelahnya tidak perlu dihiraukan.
 
perlu diingat untuk penggunaan regex ini case sensitive jadi perlu diperhatikan huruf besar dan kecilnya, misalkan pada $string valuenya adalah "Asep sunarya" atau "aSep sunarya" maka regex tersebut tidak berlaku. Untuk mengatasi hal tersebut kita tinggal menambahkan "/i" di belakang regex, berikut contohnya :

<?php
$string = 'aSep sunarya';
if(preg_match("/^asep/i", $string)) {
  echo 'Nama depan berawalan asep';
} else {
  echo 'Nama depan Tidak berawalan asep';
}
?>

dengan menambahkan "/i" huruf besar dan kecil tidak perlu dihiraukan.

Oke sekian pembahasan kita kali ini tentang regex. Pada pembahasan regex ini dibagi beberapa bagian agar lebih mudah dipahami, pada pembahasan selanjutnya kita akan membahas beberapa pola lain dari regex. Selamat mencoba , semoga bermanfaat.

Postingan terkait:

Belum ada tanggapan untuk "Dasar dasar Regex PHP Part 1"

Post a Comment