Belajar Cara Menggunakan String Regex pada Java


Assalamualakum Warahmatullahi Wabarakatuh.

Regex (Regular Expression ) adalah sebuah pattern (pola), yang dimana pola ini digunakan untuk, mencari, mengedit dan memanipulasi sebuah text dari obek yang menggunaakn class library String. Bisa juga dikatakan bahwa ,ketika kita ingin data atau nilai dari text, jadi Regex tersebut bisa digunakan untuk membuat aturan text dengan format tertentu pada sebuah aplikasi.

Contohnya jika kita membut form login, didalam form tersebut, user harus memasukan email dengan format yang benar atau valid, jika user memasuan email dengan format yang salah, maka akan terjadi error atau muncul pesan untuk memberitahukan bahwa format yang dimasukan salah.


Pada tutorial ini, kita akan belajar cara menggunakan String Regex pada pemrograman Java, pada tutorial ini kita akan membahas mengenai contoh syntax, meta karakter, kelas karakter dan batasan kecocokan karakter.

Materi lainnya yang direkomendasikan:

A.Contoh Pertama

Buka aplikasi Netbeans IDE kalian, Buat Project Baru.

Pada contoh yang pertama ini, kita akan menggunakan salah satu fungsi dari class Library Regex yaitu matches(), yang digunakan untuk memcocokan apakah nilainya sesuai dengan yang didefinisikan atau tidak.
package WILDAN_TECHNO_ART;

public class Main {
 
    //Belajar java di wildantechnoart.net
 
    public static void main(String args[]) {
        //Mendefinisikan Variable
        String Nama  = "Wildan Muhammad Athoillah";
        
        //Mencocokan nilai yang telah didefinisikan pada Variable Nama
        boolean kondisi1 = Nama.matches("Wildan Muhammad Athoillah");
        boolean kondisi2 = Nama.matches("Wildan M.A");
        
        //Menampilkan Hasil
        System.out.println("Kondisi Pertama : "+kondisi1);
        System.out.println("Kondisi Kedua : "+kondisi2);
    }
}
Demo:


B.Contoh Kedua

Dengan menggunakan Regex, kita juga dapat mengecek suatu kata kunci pada nilai didalam variabel String, dengan menggunakan fungsi Pattern.mathest() dengan parameter Regex dan input Nilai. Fungsi ini mengembalikan nila boolaean true dan false.
package WILDAN_TECHNO_ART;

import java.util.regex.Pattern;

public class Main {
 
    //Belajar java di wildantechnoart.net
 
    public static void main(String args[]) {
        //Mendefinisikan Variable
        String Kalimat1  = "Wildan Muhammad Athoillah";
        String Kalimat2  = "Cianjur Jago";
        
        //Mendefinisikan Kata Kunci yang ingin dicocokan
        String kataKunci = ".*Wildan.*";
      
        boolean kondisi1 = Pattern.matches(kataKunci, Kalimat1);
        boolean kondisi2 = Pattern.matches(kataKunci, Kalimat2);
        
        //Menampilkan Hasil
        System.out.println("Kondisi Pertama : "+kondisi1);
        System.out.println("Kondisi Kedua : "+kondisi2);
    }
}
Demo:


Coba kalian perhatikan, disana terdapat 2 variable dengan nilai yang berbeda, lalu kita membuat variable kataKunci, yang akan kita gunakan pada fungsi Pattern.matches(), untuk mengecek kata kunci "Wildan" pada kedua variable tersebut.

Untuk mencari kata kunci tersebut, pada variable kataKunci, kita dapat menggunakan simbol (.* .*) sehingga menjadi ".*Wildan.*".

C.Contoh Syntax dan Aturan-aturan pada class Regex

Selain yang saya jelaskan diatas, masih banyak aturan-aturan yang bisa kalian gunakan pada Regex, dengan menggunakan karakter kelas, meta dan batasan kecocokan.

Kelas Karakter
  • [ abc] = karakter a ,b atau c (kelas sederhana)
  • [^abc] = kecuali karakter a ,b ,atau (negasi)
  • [a-zA-Z] = karakter a sampai z huruf kecil , atau A sampai Z huruf besar ,(jarak)
  • [a-z[x-y]] = karakter a sampai d ,atau m sampai p (a-xy-z : gabungan)
  • [a-z0-9] = karakter a sampai z ,atau angka dari 0 sampai 9
  • [a-z&&[^bc] = karakter a sampi z, kecuali untuk b dan c.

Meta Karakter
  • . = tanda titik ,yang berarti karakter apa saja
  • \d = angka digit apa saja:, seperti [0-9]
  • \D = selain angka digit : [^0-9]
  • \s = sebuah spasi pada kaarkter, seperti [ \t\n\x0B\f\r]
  • \S = selain spasi pada karakter: [^\s]
  • \w = huruf dan angka apa saja ,seperti [a-zA-Z_0-9]
  • \W = selain angka dan huruf ,[\w]

Batasan Kecocokan Karakter
  • ^ = tanda awalan
  • $ = tanda akhiran
  • \b = batasan kecocokan kata
  • \B = batasan kecocokan selain kata
  • \A = awalan untuk input text
  • \G = akhir dari kecocokan sebelumnya
  • \Z = akhir dari input text, kecuali final terminator jika ada
  • \z = akhir dari input text

Berikut ini merupakan contoh program dan juga penjelasannya. Coba kalian perhatikan baik-baik.
package WILDAN_TECHNO_ART;

import java.util.regex.Pattern;
 
public class Main {
 
    //Belajar java di wildantechnoart.net
 
    public static void main(String[] args) {
        //mendefinisikan Variable
        String kalimat1 = "Wildan";
        String kalimat2 = "77Android";
        String kalimat3 = "Java345";
        String kalimat4 = "123456";
        String kalimat5 = "Belajar";
        
        //Jika Input/Kalimat1 adalah Wildan atau wildan = true
        System.out.println(Pattern.matches("[Ww]ildan", kalimat1));
 
        //Jika nilai input di awal angka maka = false
        System.out.println(Pattern.matches("^[^\\d].*", kalimat2));
 
         //Sebaliknya Jika nilai input di awal bukan angka maka = true
        System.out.println(Pattern.matches("^[^\\d].*", kalimat3));
 
        
        /*
          Mengecek input, jika lebih dari 2 maka = false
          sebaliknya jika sesuai 2 maka = true
        */
        System.out.println(Pattern.matches("[a-zA-Z][a-zA-Z]", "ai"));
        System.out.println(Pattern.matches("[a-zA-Z][a-zA-Z]", "mobil"));
 
        //Jika input nilai  berupa angka digit, maka = true ,jika tidak = false
        System.out.println(Pattern.matches("\\d*", kalimat4));
 
        /*
        Akan menampilkan output = true , jika kata Belajar merupakan awalan
        dan akhiran dari input data nilai
        */
        System.out.println(Pattern.matches("^Belajar$", kalimat5));
    }
}
Demo:


Terimakasih atas kunjungannya, semoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.



Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.