Selasa, 08 November 2011

Regular Expression Menggunakan Visual Basic .NET

Regular Expression di Visual Basic .NET


Regular expression atau biasa disingkat regex, merupakan suatu notasi fleksibel dan ringkas untuk
menemukan dan menggantikan pola teks. Notasi regular expression 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, Anda juga bisa mengganti, memodifikasi, atau menghapus suatu substring dengan cepat dan akurat,
sesuai kriteria yang kita inginkan.
Hampir semua bahasa pemrograman mengimplementasikan regular expression, begitu pula halnya dengan
Visual Basic .NET. Di .NET Framework disediakan namespace System.Text.RegularExpression
yang berisi delapan kelas untuk mendukung penggunaan regular expression. Namespace ini menyediakan
fungsionalitas yang dapat digunakan pada berbagai platform atau bahasa yang berjalan di .NET Framework,termasuk C#, C++, dan J#.


Menggunakan Objek Regex


Dari beberapa kelas yang tersedia, kelas Regex dan Match merupakan kelas yang paling sering digunakan,
terutama untuk membuat ekspresi sederhana. Kelas Regex adalah kelas yang merepresentasikan ekspresi
immutable (read-only), dan digunakan untuk menciptakan objek Regex. Sementara itu, kelas Match
merepresentasikan hasil regular expression yang sesuai dengan operasi.
Pada saat Anda menggunakan kelas-kelas regular expression, Anda perlu mengimport namespace di bagian
atas kode program. Tujuannya adalah agar tidak perlu menuliskan nama lengkap kelas secara eksplisit, jadi
cukup nama pendeknya (setelah nama namespace tersebut).
' Import namespace untuk kelas-kelas regex
Imports System.Text.RegularExpressions
Contoh penggunaan objek Regex dan Match diperlihatkan seperti berikut:
' Import namespace untuk kelas-kelas regex
Imports System.Text.RegularExpressions
Public Class Form1
Inherits System.Windows.Forms.Form
' Windows Form Designer generated code
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
' Mendeklarasikan variabel objek dengan tipe Regex.
Dim r As Regex
' Menciptakan objek Regex dan mendefinisikan regular expression
r = New Regex("abc")
' Mencari string "abc" di dalam "123abc456"
Dim m As Match = r.Match("123abc456")
' Mengembalikan True jika cocok
If m.Success Then
' Mencetak posisi string yang ditemukan
MsgBox("Ditemukan pada posisi " & m.Index.ToString())
Else
MsgBox("String Tidak Cocok")
End If
Console.ReadLine()
End Sub
End Class
Pada kasus di atas, kita ingin mencocokkan apakah string “abc” berada di dalam string “123abc456”, dan
menentukan posisinya jika ditemukan. Hasil yang kita dapatkan adalah string ditemukan, dan posisinya
berada di index 3. Penghitungan nilai index dimulai dari 0, dan akan berhenti pada string pertama (huruf a).
Sebaliknya, apabila pola “abc” diubah menjadi “a bc” atau “a1bc”, maka method Match akan
mengembalikan nilai False, karena pola tidak sesuai dengan string target.

Tidak ada komentar:

Posting Komentar