Banner Java

Menggunakan Regular Expression Di Java

Java menyediakan paket (package) java.util.regex untuk mencocokkan pola (pattern) dari sekumpulan huruf, angka atau kombinasinya dengan menggunakan regular expressions. Paket java.util.regex memiliki tiga kelas yaitu Pattern class, Matcher class dan Pattern SyntaxException. Regular expression sendiri merupakan rangkaian karakter dan simbol. Regular expression dapat terdiri dari bermacam-macam operator dan bentuk lain untuk membentuk ekspresi yang lebih komplek. Berikut ini adalah tabel dari beberapa predefined character classes dan quantifier:

Tabel Predefined Character Classes Di Java
Kelasa-Kelas Karakter Keterangan
\d Dapat berupa dijit mana saja.
\D Dapat berupa apa saja kecuali dijit.
\w Dapat berupa karakter kata mana saja.
\W Dapat berupa apa saja kecuali karakter kata.
\s Dapat berupa white-space apa saja (spase, tab, newline dll).
\S Dapat berupa apa saja kecuali white-space.

Tabel Quantifier Di Java
Quantifier Keterangan
* Memperbolehkan kemunculan pola sebanyak 0 atau lebih.
+ Memperbolehkan kemunculan pola sebanyak 1 atau lebih.
? Memperbolehkan kemunculan pola sebanyak 0 atau 1 kali.
{n} Memperbolehkan kemunculan pola sebanyak n kali.
{n, } Memperbolehkan kemunculan pola paling sedikit n kali.
{n, m} Memperbolehkan kemunculan pola antara n dan m (m termasuk) kali.

Sebagai contoh, regular expression [1-9]\\d* menetapkan pola karakter numerik. [1-9] mempunyai arti bahwa numerik pertama hanya satu angka yang mana saja selain angka 0, \\d dapat berupa angka yang mana saja termasuk angka 0 dan karakter * yang mengikuti subexpression \\d mempunyai arti bahwa jumlah angka berapapun dari angka manapun diperbolehkan. Karakter * memberi perluasan arti pada \\d yang diikuti. \\d merupakan salah satu dari beberapa kelas karakter terdefinisi (predefined character classes), sedangkan * merupakan quantifier (penentu jumlah). Untuk menentukan himpunan karakter yang tidak ada di character class, dapat digunakan [ ], sedangkan untuk jangkauan karakter dapat digunakan dash (-). [1-9] merupakan contoh penetapan himpunan karakter yang tidak termasuk dalam character classes. Berikut ini adalah beberapa contoh pola regular expression:

Contoh Pola Regular Expression Di Java
Quantifier Keterangan Contoh
[1-9]\\d*[.]?\\d* Karakter numerik pertama tidak boleh 0, dapat mempunyai titik (.) dan diikuti oleh sejumlah karakter numerik lain. 806578.076
[0][1-9]*[-][1-9]\\d* Karakter numerik pertama harus 0 diikuti oleh tanda dash (-) dan sejumlah karakter numerik lain yang juga tidak boleh dimulai dengan 0. 021-5212828
[0][.]\\d* Karakter numerik pertama harus 0, diikuti oleh tanda titik (.) dan sejumlah karakter numerik yang lain. 0.01234
[A-Z][a-zA-Z]* Karakter pertama harus berupa huruf besar dan diikuti oleh sejumlah karakter huruf lain (bisa huruf besar atau kecil). Hindrianto
[1-9]\\d*\\s+[A-Z][a-zA-Z]* Karakter pertama harus numerik bukan 0, diikuti oleh sejumlah karakter numerik, diikuti satu atau lebih white space, diikuti satu karakter huruf besar dan sejumlah karakter huruf (bisa huruf besar atau kecil). 123 Street

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.