Skip to main content
Mari Belajar Regular Expression (Regexp)

Regular expressions atau daripada sesetengah-setengah individu memberi gelar sebagai "ungkapan nalar" ialah salah satu cara untuk memudahkan pencarian aksara sasaran dengan corak/pattern tertentu.

1) Ringkasan

Secara ringkas, ia melihat syarat/pattern matching untuk sesuatu target sebelum input tersebut di"cekup" bagi dipaparkan/digunakan.

Sebagai contoh:

$ls -l |grep ^d


Di sini , arahan penyenaraian panjang digunakan untuk memaparkan kandungan direktori, dan output senarai tersebut di"cekup" menggunakan aksara "caret" yang menginginkan penyenaraian bermula dengan aksara "d"

Tujuan pengguna menggunakan arahan ini ialah untuk memaparkan direktori saja. Arahan ini mempunyai nilai yang sama dengan:

find . -maxdepth 1 -type d (yang secara default mempunyai nilai -print )

atau jika ingin memperkecilkan skop

find . -maxdepth 1 -iname "" -type d


maxdepth ialah tahap jutsu atau chakra yang diperlukan untuk mencari sasaran


2) Aksara Escape

Aksara escape iaitu "\" digunakan untuk "mencekup" aksara pattern regular expression seperti ^,$,\,. dan lain-lain.

Contohnya:

$ cat test.txt
\
$
^


$ grep "\/|\$\|\^" test.txt
\
$
^


3) Aplikasi

Banyak aplikasi yang menggunakan "regular expression" atau "regexp" sebagai nadi komponennya. Antaranya untuk pemadanan aturan pada fail konfigurasi (rule matching) dan pemeriksaan packet (packet deep inspection)


Kelajuan aplikasi yang menggunakan "regular expression" bergantung kepada bagaimana aplikasi/skrip tersebut ditulis.

Rujukan

1. PCRE - Perl Compatible Regular Expressions in Cheatsheet PDF
2. Mastering Regular Expressions [catalog]
3. Ruler: high-speed traffic classification and rewriting using regular expressions [pdf]
4. Algorithms to Accelerate Multiple Regular Expression Matching for Deep Packet Inspection [pdf]


(c) mnajem 2007, copy with author credits retained

Comments

Hasbullah Pit said…
cadangan tag: mypenguin
0xff said…
hehe tu kat blog mypenguin la taiko

Popular posts from this blog

Gue dengan S2 gue. Sronok banget!
Sed (streaming editor) big time mnajem @zalzalah ~ $ cat ustazasri.txt >Kuliah Dr. Mohd. Asri Zainul Abidin (Julai 2005) >>Tarikh >>Tempat >>Waktu >>Tajuk >>15 Julai 2005 JUMAAT >>Surau al-Muhajirun, Taman Sri Ukay, Ampang >>Selepas Maghrib >>Riyadh al-Salihin (Kitab Perkara yang Ditegah) >>16 Julai 2005 SABTU >>Balai Budaya Tun Syed Nasir, DBP Kuala Lumpur >>8.30 pagi ¿ 1.00 tgh >>DEBAT Astora Jabat vs Dr. Mohd. Asri ¿ Gerakan Tajdid: Satu Perbincangan >>17 Julai 2005 AHAD >>Dewan Kuliah, Balai Islam Masjid al-Ghufran, Pinggiran Taman Tun Dr. Ismail >>10.00 pagi >>Riyadh al-Salihin (Kitab Perkara yang Disuruh, Bab al-Taqwa, Bab ke-6) >>17 Julai 2005 AHAD >>Masjid Jamek Abdul Aziz, Jalan Templer, Petaling Jaya >>Selepas Maghrib >>Sahih al-Bukhariy (Kitab al-Iman) >>*Kuliah Maghrib di Masjid Al-Syakirin, Bandar Utama dibatalkan.> mnajem@zalzalah ~ $ sed -i...
........speechless Salam, Aku lately mengalami masalah kesempitan wang yang serius disebabkan kereta satria aku yang berusia 10 tahun ada major repair.. dalam bulan ni je untuk kereta aku abis RM600 untuk maintenance. Ganti spectacle lagi. Accumulated maintaince expense untuk keta yang aku beli sejak Disember 2005 ni dekat RM3000 jugak. Ganti absorber,ganti tayar (haritu kan pancit-tayar last yang aku tak penah ganti pancit balik dari Kangar. Tayar tu tahun 2001. Owner lama tak tukar. Nasib la). Gaji macam aku ni dok seorang pun dah boleh jadi defisit, nak bayar PTPTN(auto deduct), loan laptop aku 2 tahun, then medical card(aku memikirkan sebab arwah abang aku dulu pernah kena kanser umur 29 tahun.. dan kebetulan dia ambik insurans tu tak jauh tarikh dari dia kena sakit tu, kampeni insurans tak nak bayar sebab assume dia dah tau sakit baru ambik polisi. Nak buat macam mana. So sewaktu sihat la fikir nak ambil polisi gini). Memang ada medical benefit, tapi kita tak tau future jadi apa, ...