Pages

Reguler Expression (Regex) Dengan PHP

Reguler Expression atau Regex adalah cara yang digunakan untuk mencocokkan suatu String atau kalimat, misalnya kita ingin login ke akun facebook, maka saat kita memasukkan User ID dan Password, kita sudah melakukan kegiatan yang berhubungan Reguler Expression.

Berikut beberapa contoh yang dikategorikan dalam Reguler Expression  pada PHP:

<?php
    if (preg_match("/rasa/", "rasamautau", $cocok)) 
    {
        echo "string ditemukan <br />";
        echo $cocok[0];
    }
?>



Output : string ditemukan                    
               rasa                                        

Berikut Penjelasan dari source code di atas :
  • rasa = string yang ingin kita cari
  • rasamautau = string yang menjadi tempat pencarian
  • cocok = variabel yang berfungsi untuk menampung string yang dicari yaitu rasa
==========================================================================
<?php
    $kata = 'rasamautau';

    $isMatch = preg_match ("/rasa/", $kata);
    echo $isMatch;
?>
Output : 1   

  • Hasilnya 1 karena $isMatch adalah boolean, jika yang dicari tidak maka hasilnya akan 0 (nol)
==========================================================================
<?php
$kata = 'rasamautau';

    if(preg_match("/^[A-Z]/", $kata))
    {
        $type = 'Huruf besar';
    }
    else if(preg_match("/^[0-9]/", $kata))
    {
        $type = 'Angka';
    }
    else if(preg_match("/^[a-z]/", $kata))
    {
        $type = 'Huruf kecil';
    }

    echo $type;
?>
 
Output :Huruf kecil
  • Hasil huruf kecil karena, saat melakukan pencocokan, yang ditemukan adalah huruf kecil
  • Jika diganti pada variable $kata dengan 242424, maka hasilanya Angka
  • Jika diganti pada variable $kata dengan RASAMAUTAU, maka hasilnya Huruf Besar
Untuk melihat apa saja yang bisa dilakukan ketentuan di atas, bisa dilihat pada tabel berikut:

Regular expression (pattern) Match (subject) Not match (subject) Comment
world Hello world Hello Jim Match if the pattern is present anywhere in the subject
^world world class Hello world Match if the pattern is present at the beginning of the subject
world$ Hello world world class Match if the pattern is present at the end of the subject
world/i This WoRLd Hello Jim Makes a search in case insensitive mode
^world$ world Hello world The string contains only the "world"
world* worl, world, worlddd wor There is 0 or more "d" after "worl"
world+ world, worlddd worl There is at least 1 "d" after "worl"
world? worl, world, worly wor, wory There is 0 or 1 "d" after "worl"
world{1} world worly There is 1 "d" after "worl"
world{1,} world, worlddd worly There is 1 ore more "d" after "worl"
world{2,3} worldd, worlddd world There are 2 or 3 "d" after "worl"
wo(rld)* wo, world, worldold wa There is 0 or more "rld" after "wo"
earth|world earth, world sun The string contains the "earth" or the "world"
w.rld world, wwrld wrld Any character in place of the dot.
^.{5}$ world, earth sun A string with exactly 5 characters
[abc] abc, bbaccc sun There is an "a" or "b" or "c" in the string
[a-z] world WORLD There are any lowercase letter in the string
[a-zA-Z] world, WORLD, Worl12 123 There are any lower- or uppercase letter in the string
[^wW] earth w, W The actual character can not be a "w" or "W"
==========================================================================
<?php
$syarat = "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]/";
    $email = "rasamautau@gmail.com";
     
    if (preg_match($syarat,$email)) 
        echo "Status : Cocok <br>";
    else 
        echo "Status : Tidak cocok <br>";
    
    echo 'Syarat :';echo $syarat;
    echo '<br>Email :'; echo $email;
?>
Status : Cocok
Syarat :/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]/
Email :rasamautau@gmail.com

Dalam melakukan cek email di atas, pertama ditentukan huruf besar, huruf kecil dan angka, untuk @ dan titik (.)ditambah, sehingga saat ketemu karakter @ dan titik (.) program langsung mengenali.
Jhohannes H Purba Coding Sederhana May 15, 2011

No comments:

Post a Comment