Verbal Expression, bikin mainan Regex dengan Pascal jadi gampang


by LuriDarmawan in more 4 years ago 5090
Namanya Verbal Expressions. Gunanya untuk memudahkan bagi kawan-kawan dalam menggunakan operasi Regex di dalam bahasa pemrograman Pascal.
Dalam keseharian saya bermain dengan Carik, hampir tiap hari selalu bersinggungan dengan Regex (Regular Expression). Yang menyedihkan (tapi selalu bahagia) , saya tidak mahir di regex. Melihat ulet2 yang muncul sudah membuat saya pusing setengah kepala. Buat yang belum terbiasa bermain dengan Regex tentu akan merasakan begitu puyengnya dalam penggunaan regex.
Pada suatu ketika, saya menemukan situs Verbal Expressions. Saya lupa mendapatkannya dari mana, kemungkinan dipostingan om @Peter J Kambey atau om Muhamad Surya Iksanudin, pokoknya begitulah, saya lupa. Verbal Expressions ini sangat menarik, memudahkan saya dalam membentuk expresi string dengan mudah. Sayangnya, belum tersedia untuk bahasa pemrograman yang saya sayangi, Pascal.
Akhirnya, saya coba buat librari sederhana yang sebagian sangat besar meniru konsep Verbal Expressions ini. Cara pemakaiannya juga nyaris sama persis. Berikut ini contoh-contoh sederhana dalam penggunaannya.

Contoh#1

VE := TVerbalExpressions.Create;
VE.StartOfLine()
.Has('http')
.Maybe('s')
.Has('://')
.Maybe('www.')
.AnythingBut(' ')
.EndOfLine(false);
if VE.IsMatch('https://fastplaz.com') then
begin
// your code
end;
Kode sumber di atas ini akan menghasil ekspresi regex string: ^(http)(s)?(:\/\/)(www\.)?([^ ]*)

Contoh#2

VE := TVerbalExpressions.Create;
varString := VE.Find('red').Replace('We have a red house', 'blue');
Jika dilihat dari contoh sederhananya, mungkin akan menganggap 'khan bisa pakai string replace saja'. Yaa memang, tapi cobalah sedikit bergelut dengan indahnya regex. Banyak hal-hal di regex yang sangat menarik.
Pustaka TVerbalExpressions ini sudah built-in di dalam kemasan FastPlaz, Web Framework untuk Pascal, bisa diunduh dari repositori FastPlaz di Github di branch development .
Selamat mencoba
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com