Rabu, 19 Januari 2011

Regular Expressions ( Ekspresi Reguler )

Regex memiliki dua jenis karakter dasar salah satunya adalah Metakarakter untuk menyatakan teks dapat bermacam-macam di string target sesuai dengan metakarekter yang digunakan.
Metakarakter pada Regex antara lain :
^….$
Tanda awal dan akhir dar sebuah baris
{……}
Untuk mendifinisikan range
[…..]
Untuk mendefinisikan character class
(…..)
Untuk mendefinisikan group
*
Untuk menyatakan perulangan minimal 0 kali sampai tak terhingga
+
Untuk menyatakan perulangan minimal satu kali sampai tak terhingga
?
Untuk menyatakan perulangan satu kali atau tidak sama sekali
|
Operator logika untuk OR
\
Menjadikan karakter setelahnya tidak lagi dianggap sebagai metcharacter dan hanya akan dianggap sebagai karakter biasa
\t
Mereperesentasikan karakter tab
\n
Mereperesentasikan karakter newline
\r
Mereperesentasikan carriage-return character
\f
Mereperesentasikan form-feed character
\a
Mereperesentasikan karakter bel
\e
Mereperesentasikan karakter escape
Disamping itu terdapat juga Kelas Karakter yang dapat digunakan untuk mencari kesesuaian atau kecocokan karakter pada pola yang telah ditentukan.
Kelas karakter pada Regex sbb :

[abc]
Hanya a atau b atau c
[^abc]
Semua karater selain a , b dan c
[a-zA-Z]
Salah satu karaketer dari a sampai z atau dari A sampai Z
[a-d[m-p]]
Salah satu karakter dari hasil gabungan antara a samapi d dan m sampai p, (union = [a-dm-p])
[a-z&&[def]]
Salah satu karakter dari hasil irisan a sampai z dan def (intersection = [def])
[a-z&&[^bc]]
Salah satu karakter dari a sampai z selain b dan c (substraction= [ad-z])
Pada Regex terdapat juga Kelas karakter yang sudah didefinisikan diantaranya adalah sbb:

.
Mewakili semua karakter kecuali line terminator
\d
Merepresentasikan sebuah angka = [0-9]
\D
Merepresentasikan selain angka = [^0-9]
\s
Merepresentasikan karakter whitespace = [ \t\n\f\r\x0B]
\S
Merepresentasikan selain karakter whitespace = [^\s]
\w
Merepresentasikan sebuah huruf atau angka = [a-zA-Z0-9]
\W
Merepresentasikan selain huruf atau angka = [^\w]
Contoh Penggunaan Regex :
1. Validasi Tanggal dengan format “dd-MM-yyyy”
Ekspresi Regularnya = “((^0[1-9]{1}|^[12][0-9]|3[01])-(0[1-9]|1[012])-(19|20)\d\d$)”
2. Validasi IP pada IPV4
Ekspresi Regularnya = “^([0-9]{1,2}|(0)[0-9]{1,2}|(1)[0-9]{1,2}|(2)[0-4]?[0-9]?|(2)(5)[0-5]?)\.([0-9]{1,2}|(0)[0-9]{1,2}|(1)[0-9]{1,2}|(2)[0-4]?[0-9]?|(2)(5)[0-5]?)\.([0-9]{1,2}|(0)[0-9]{1,2}|(1)[0-9]{1,2}|(2)[0-4]?[0-9]?|(2)(5)[0-5]?)\.([0-9]{1,2}|(0)[0-9]{1,2}|(1)[0-9]{1,2}|(2)[0-4]?[0-9]?|(2)(5)[0-5]?)$”
3. Validasi Alamat Email
Ekspresi Regularnya = “^([A-Za-z0-9]+([_]|[.])?)+[A-Za-z0-9]+\@(([A-Za-z0-9]+[-]?)+[A-Za-z0-9]+\.)+[A-Za-z]{2,3}$”

Tidak ada komentar:

Posting Komentar