Regular Expressions ( Ekspresi Reguler )

24 03 2009

Regular Expressions atau yang sering disebut dengan Regex adalah notasi yang digunakan dalam manipulasi teks dan data, contohnya untuk pada parsing, validasi input, atau pada find and replace text. ( itu yang saya tahu..hehehe)

Ada juga yang bilang bahwa Regex itu adalah suatu notasi fleksibel dan ringkas untuk menemukan dan menggantikan pola teks. Notasi Regex terdiri dari dua jenis karakter dasar, yaitu karakter teks literal (normal) dan metakarakter. Karakter normal menyatakan bahwa teks harus eksis di string target, sedangkan metakarakter menyatakan teks dapat bermacam-macam di string target. Regular expression memungkinkan kita menguraikan sejumlah teks guna menemukan pola karakter spesifik. Selain itu, kitajuga bisa mengganti, memodifikasi, atau menghapus suatu substring dengan cepat dan akurat, sesuai kriteria yang kita inginkan.

Nah sekarang Seperti apas sih Regex itu..

Seperti yang sudah dijelaskan di atas, 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}$”

Nah itu sedikit tentang Regex, Semoga Posting saya kali ini bermanfaat bagi temen2 yang lagi belajar tentang Regex, InsyaAllah pada posting berikutnya akan saya posting contoh penggunaan Regex untuk Validasi Input pada Visual Basic 6.0.


Actions

Information

9 responses

28 03 2009
yadz

chayo…REGEX…

21 05 2009
noviar bagus

Terimakasih boz, u safe my life..

30 07 2009
yadz

ri, tu metakarakter utk bahasa apa?
PHP, Perl, basic ataukah apa?

thx alot
ak kemaren ditanya g bisa jawab……

10 08 2009
fharipurwanto

duh..gimana ya jelasinnya,metakarakter itu ya yang dipake untuk mendeskripsikan seperti apa format pattern yang kita inginkan bisa menyatakan bahwa karakter boleh diulang ato tidak,tanda awal dan akhir dll, klo yang udah ada ato ditentuin karakternya kaya angka pake \d disebut klas karakter terdefinisi, ada lagi yang belum terdefinisi tandanya menggunakan tanda [….] misalnya [0-9]

17 02 2010
aira

kalo saya mau input
2 angka pertama angka trs titik dilanjut 2 angka traktir angka juga
contoh seperti input jam
08.10

atau 17.30

19 02 2010
didin

sip bro..🙂
thanks

30 07 2010
lemonade

thanks for the article. Boleh permisi copy paste untuk blog saya? terimakasih

24 10 2010
dodo

pertamax gan !!
mantap thx..

2 08 2013
Harga Laptop

makasih mbak Brow… tapimasih bingung gimana cara penggunaanya.. mesti belajar lebih tentang regex.. mungkin ada rekomendasi kemana mesti pelajari dari nol.. ? yang pakai B.Indo lah..😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: