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.



Belum ada Komentar untuk "Belajar Cara Menggunakan String Regex pada Java"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel

Daftar Situs Idn Poker Online di 18Dewa dan juga Poker Qiu atau di sebut Pokerqiu adalah situs ceme online terpercaya sama dengan 18Dewapoker dan situs poker pkv yang terkenal adalah Masterdomino88 atau nama lain Domino88 bersaing di dunia game online poker Bandar389 dan poker idn lainnya yang memberikan kemenangan tinggi yaitu Big Poker88 baru lagi agen poker bernama Rekan Poker yang punya banyak peluang besar.