Jumat, 26 April 2013

Reg-Ex



 RegEx
Regex merupakan singkat perintah dari sebuah bahasa formal biasa dengan notasi untuk penggabungan, alternatif, dan iterasi (pengulangan) dari pengelompokkan sub ekspresi. Dalam istilah lainnya, Regex merupakan setiap pola untuk pencocokan atau mencari teks, sering menawarkan fungsionalitas lebih atau kurang dari ekspresi reguler teoritis.
Contoh:
-  Remove all HTML tags :
s/<[a-zA-Z\/][^>]*>//g

Implementasi RegEx menggunakan java
Penerapan regex ini cakupannya memang sangat luas, untuk penerapan kali ini yaitu pencocokan string email. Pertama-tama yang perlu diperhatikan dari aturan penulisan email adalah sebuah karakter utama yaitu "@". Sehingga jika pada string yang tidak terdapat karakter tersebut, maka akan dianggap salah.

Berikut code regex di java:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class regex_sagara {
public static void main(String[] args) {
Pattern p = Pattern.compile("^[a-zA-Z0-9_.]+@[a-zA-Z0-9]+.[a-zA-Z0-9]+$");
Matcher m = p.matcher("mudafiq.riyan@yahoo.com");
String hasil = "";
int I = 0;
while (m.find(I)) {
hasil = hasil + m.group() + "\n";
I = m.start() + 1;
}
if (I == 0) {
System.out.println("--- Susunan email salah ---");
} else {
System.out.println("Hasil : \n" + hasil);
}

}
}

Untuk hasilnya adalah:

Hasil :
mudafiq.riyan@yahoo.com


Susunan regex di atur pada fungsi Pattern yaitu ^[a-zA-Z0-9_.]+@[a-zA-Z0-9]+.[a-zA-Z0-9]+$ dengan penjelasan:
  • aturan pertama adalah tanda ^ yaitu tanda pembuka
  • aturan kedua adalah [a-zA-Z0-9_.] merupakan aturan nama email yang bisa dituliskan mulai a-z dengan huruf kecil ataupun kapital serta angka 0-9 dan juga bisa dituliskan dengan menggabungkan karakter "_" dan karakter titik "."
  • aturan ketiga adalah karakter "@" merupakan aturan utama dari penulisan email, sehingga setelah penulisan nama email harus diikuti oleh karakter "@"
  • aturan keempat adalah [a-zA-Z0-9] merupakan nama provider yang dapat dituliskan mulai a-z dengan huruf kecil ataupun huruf kapital serta angka 0-9
  • aturan kelima adalah tanda titik "." yang merupakan tanda setelah nama provider yang dituliskan sebelum aturan keenam.
  • aturan keenam adalah [a-zA-Z0-9] merupakan aturan untuk penulisan akhiran dari provider, biasanya .com, .net dan lain-lain.
  • aturan ketujuh adalah karakter "$" adalah tanda penutup dari aturan regex pada java.

Adanya tanda "^" di awal dan "$" di akhir itu merupakan tanda untuk perulangan pengecekan yang dilakukan oleh java sehingga menghasilkan karakter yang sesuai. Sehingga jika pada syntax Matcher m = p.matcher("mudafiq.riyan@yahoo.com"); maka aturan tersebut sesuai dengan aturan email, sehingga muncul keterangan kebenaran penulisan tersebut. Jika pada syntax Matcher tersebut diganti dengan menghilangkan tanda "@" yaitu Matcher m = p.matcher("mudafiq.riyanyahoo.com"); maka hasilnya adalah: --- Susunan email salah ---

Seperti itulah penerapan fungsi regex pada java. Itu merupakan contoh sederhana dari regex di java.

0 komentar:

Posting Komentar