Minggu, 28 Februari 2010

Regular Expression (Regex)

Regular expression atau sering disingkat jadi regex ato regexp, bukanlah bahasa pemrograman. regex adalah sebuah pattern atau pola dari suatu string. regex sering digunakan untuk pencarian string dengan cara menentukan pattern string tersebut.
pekerjaan system administrator, programmer dan bioinformatic tidak akan lepas dari pengunaan regular expression.
sejarah:
tahun 1950an, Stephen Cole Kleene seorang ahli matematika membuat sebuah model pattern string menggunakan notasi matematika, yang disebut regular sets. Ken Thompson mengimplementasikan notasi tersebut ke dalam text editor buatannya, QED, untuk pencarian string dengan pola tertentu. dia jg menambahkan fitur tersebut ke dalam ed, sebuah editor text dalam sistem operasi unix. untuk pencarian string dalam ed menggunakan pattern, perintahnya: /g /re /p (/g : globally, /re : regular expression, /p : print) yang maksudnya adalah pencarian global baris2 dalam sebuah file yang memiliki pola tertentu, dan ditampilkan/cetak/print. istilah grep akhirnya digunakan sebagai nama sebuah program/tool dalam sistem operasi unix untuk fungsi yang sama, pencarian string. semua sysadmin pasti tau grep :)
*jadi dasarnya adalah set theory (teori himpunan), di matakuliah matematika diskrit!! hehehe*
saat ini hampir semua bahasa pemrograman tingkat tinggi sudah
mendukung regex. kalo memang ga ada, tinggal cari library/komponennya aja, banyak tersebar di internet dan ada untuk berbagai bahasa pemrograman. Perl menggunakan library regex yang ditulis oleh Henry Spencer, yang kemudian menambahkan banyak fitur baru dalam regex Perl. PHP ikut mengadaptasi regex dari Perl. :)
dalam dunia bioinformatic (biologi & informatika), DNA2 makhluk hidup dapat dikodekan menjadi string2. kode DNA2 tersebut masing2 memiliki pola2 string tertentu. sayangnya konfersi DNA2 mengasilkan file text/string yang sangat besar, sehingga susah untuk dianalisa (dna 1 manusia lengkap bisa berukuran beberapa puluh MB, isinya text semua). penggunaan regex sangat membantu pekerjaan menganalisa DNA, protein, gen, dll dalam bidang bioinformatic. bahasa pemrograman yang populer dalam bidang ini adalah Perl dan python karena kemampuan regexnya :)
sumber:
* http://en.wikipedia.org/wiki/Regular_expression
* http://www.regular-expressions.info
* http://blindscientist.genedrift.org/2007/09/12/bioinformatic-perl-or-python
* http://arglist.com/regex
* chatting via YM dengan popollz, praktisi bioinformatic

0 komentar: