Discussion Board : Mengenal Regular Expression dalam PHP, beserta contoh – contoh kasus singkat dari penggunaan PHP Regex.
Requirement : webserver package, already installed (atau sebenarnya PHP saja sudah cukup, tanpa mysql atau apache).

Regex? What it is?
Regular Expression (Regex) adalah suatu konsep pencocokan pola (pattern matching) di dalam suatu string. Pada umumnya, regular expression digunakan untuk validasi (dalam sebuah pembangunan sistem informasi), atau digunakan untuk proses pengolahan teks (text processing). Namun, adakalanya regular expression juga sering digunakan dalam Information Retrieval.

Tutorial – tutorial dibawah ini akan mengkover kasus – kasus yang bisa ditangani dengan Regex, sebagai contoh pattern matching dengan menggunakan Regex.

1. Apakah pattern “indomie” ada dalam string?

$string = 'iloveindomieverymuch';

$isMatch = preg_match("/indomie/", $string); //here the regex

echo $isMatch;

Script diatas akan menghasilkan output “1” karena pattern “indomie” ada dalam string “iloveindomieverymuch”. Dapat dilihat, bahwa preg_match akan menghasilkan nilai boolean 1 apabila ditemukan matching, dan 0 apabila tidak ditemukan.

2. Apakah string dimulai dengan pattern “ilove” ?
Untuk pengecekan awal string, dapat digunakan simbol ^

<?php
$string = 'iloveindomieverymuch';
isMatch = preg_match("/^ilove/", $string)

if($isMatch) {
    echo 'The string begins with ilove'; //if there's a match
    }
else {
    echo 'The string does not begin with ilove'; //if there isn't match
    }
?>

Script diatas akan menghasilkan output seperti berikut,
The string begins with ilove

3. Apakah string diakhiri dengan pattern “much” ?
Dapat digunakan pattern $, atau mungkin lebih baik dengan seperti dibawah ini,

<?php
$string = 'iloveindomieverymuchactually';
isMatch = preg_match("/much\z/i", $string)

if($isMatch) {
    echo 'The string ends with much'; //if there's a match
    }
else {
    echo 'The string does not end with much'; //if there isn't match
    }
?>

Apabila dijalankan, script diatas akan memberikan output sebagai berikut,
The string does not end with much
Hal ini dikarenakan preg_match memberikan nilai 0, karena string tidak memenuhi rule yang ditetapkan dengan regex.

4. String, termasuk huruf atau angka?
Script dibawah akan mengecek apakah suatu kata termasuk number (angka), ataukah tersusun dari huruf (name).

<?php
$word= 'ALAN';
if(preg_match("/^[A-Z]/", $word)) {
$type = 'name';
}
else if(preg_match("/^[0-9]/", $word)) {
$type = 'number';
}
echo $type;
?>

Output yang mungkin dihasilkan dari script diatas adalah sebagai berikut,
name

Namun apabila kita mengganti $word diatas dengan string “1231”, maka akan dihasilkan output,
number

Tutorial diatas hanya memberikan contoh melakukan regular expression dengan preg_match. Tentu ada yang lain, dalam PHP sendiri untuk penggunaan regular expression dapat digunakan dengan fungsi – fungsi seperti preg_match_all, ereg, eregi, ereg_replace, preg_replace.
… dan lain-lain.

Untuk cheatsheet PHP regular expression, dapat dikunjungi disini.

Ok, Happy Coding :D
Hal yang juga menarik:

Hak Cipta

Semua skrip dan teknik dalam artikel di itx.web.id boleh digunakan sebagaimana kehendakmu tanpa perlu mencantumkan sumber. Kamu tidak boleh mengkopi seluruh artikel, dalam Bahasa Indonesia ataupun diterjemahkan ke dalam bahasa lain.


Related Articles:

Artikel terkait:

: PHP

About the author

obviously, a girl. with sweet smile, off course. turning her 21 years trapped on Informatics departement and just started to having some crush with it lately. she uses wordpress. she loves php. she lo

4 Comments

  • naff mengatakan:

    lumayan untk bljr pak (rock)

  • Teddy mengatakan:

    Untuk pengecekan nomor 4, “String, termasuk huruf atau angka?” regex tersebut hanya melakukan pengecekan pada karakter pertama pada string. Contoh : jika $word = ‘A123’ maka akan menghasilkan output ‘name’, karena yang di cek hanya karakter pertama dari string $word, yaitu ‘A’ dari ‘A123’.

    Untuk menyempurnakan nya, kode dapat diganti sbb
    if(preg_match(“/^[A-Z]+$/”, $word)) {
    $type = ‘name’;
    }
    else if(preg_match(“/^[0-9]+$/”, $word)) {
    $type = ‘number’;
    }

  • asep mengatakan:

    klo mau ambil tag tapi textnya tidak tertera gimana yah??

    soalnya saya coba ada yang tertera textnya tapi ada yang tidak? kenapa yah ??

    kode :

    $pattern = ‘/()/’;
    preg_match($pattern, $foto, $matches);
    $hasil = $matches[0];

Tinggalkan Balasan

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

x( X-( B-) ;-) :wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :D :?: :-| :-x :-o :-P :-D :-? :-)) :-) :-( :-& :) :( :!: 8-O 8-) 8) (Русский) (yahoo) (worship) (woot) (wave) (unsure) (tongue) (thinking) (tears) (taser) (smileydance) (sleeping) (sick) (scenic) (rofl) (rock) (party) (panic) (okok) (nottalking) (ninja) (music) (muscle) (muhaha) (money) (mmm) (lonely) (lol) (lmao) (idiot) (hungry) (highfive) (heart_beat) (heart) (headspin) (hassle) (haha) (gym) (griltongue) (goodluck) (girlkiss) (funkydance) (fish_hit) (eyeroll) (evilsmirk) (evil_grin) (drinking) (doh) (devil) (dance) (cry) (cozy) (coffee) (brokenheart) (bringit) (blush) (bigeyes) (beer) (banana_rock) (banana_ninja) (banana_cool) (applause) (annoyed) (angry) (K) (: