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
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
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.
No comments:
Post a Comment