Kenalan Dulu! Regular Expression di JavaScript Buat Apa Sih?

Kenalan Dulu! Regular Expression di JavaScript Buat Apa Sih?
Photo by Max Kleinen / Unsplash

Pernah nggak sih kepikiran gimana cara ngecek apakah sebuah teks mengandung pola tertentu? Misalnya, kamu pengen validasi apakah email yang diinput user itu beneran format email, atau nyari nomor telepon di dalam teks panjang? Nah, di sinilah Regular Expression (RegExp) di JavaScript bisa jadi penyelamat!

Regular Expression, atau sering disingkat RegExp, adalah cara powerful buat mencari, mencocokkan, dan memanipulasi teks. Dengan RegExp, kamu bisa nyari pola di dalam string dengan lebih fleksibel dan efisien.

Apa Itu Regular Expression?

Regular Expression adalah sekumpulan karakter yang membentuk pola pencarian. Pola ini bisa dipakai buat mencari, mengganti, atau memvalidasi string dengan lebih mudah dibanding metode pencarian biasa seperti indexOf() atau includes().

Di JavaScript, RegExp bisa dibuat dengan dua cara:

Menggunakan konstruktor RegExp

let regex = new RegExp("javascript");

Menggunakan literal RegExp

let regex = /javascript/;

Dua cara ini bakal bikin pola pencarian yang sama, yaitu "javascript".

Kenapa Harus Pakai Regular Expression?

Mungkin kamu mikir, kenapa harus ribet pakai RegExp kalau kita bisa pakai metode string biasa seperti includes()? Jawabannya adalah fleksibilitas.

Pakai metode biasa, kamu cuma bisa ngecek apakah teks tertentu ada atau nggak dalam string. Tapi dengan RegExp, kamu bisa mencari pola yang lebih kompleks, seperti:

Validasi format email, nomor telepon, kode pos, atau password
Cari dan ubah semua angka dalam teks
Ambil semua kata yang diawali huruf tertentu
Memfilter input user dengan aturan tertentu

Misalnya, kamu pengen nyari semua kata "JavaScript" dalam teks, tanpa peduli besar kecil hurufnya:

let teks = "Saya suka JavaScript dan belajar javascript setiap hari!";
let regex = /javascript/i;  // "i" = case insensitive

console.log(regex.test(teks)); 
// Output: true

Coba kalau pakai includes(), harusnya case-sensitive:

console.log(teks.includes("javascript")); 
// Output: true (tapi kalau inputnya "JavaScript" dengan huruf besar, hasilnya false)

Dengan RegExp, kita bisa bikin pencarian lebih fleksibel tanpa peduli besar kecil huruf!

Fitur-Fitur Keren di Regular Expression

1. Mencari Teks dengan test()

Mau cek apakah teks mengandung pola tertentu? Gunakan test()!

let regex = /hello/;
console.log(regex.test("hello world")); 
// Output: true
console.log(regex.test("halo dunia")); 
// Output: false

Kalau test() nemu pola yang cocok, dia bakal balikin true. Kalau nggak, hasilnya false.

2. Mengambil Pola dengan match()

Kalau kamu butuh ambil semua hasil pencocokan, pakai match().

Misalnya, kita mau ambil semua angka dalam teks:

let teks = "Nomor saya 08123456789 dan 08987654321";
let angka = teks.match(/\d+/g); // \d+ artinya cari semua angka

console.log(angka);
// Output: ["08123456789", "08987654321"]

\d+ berarti cari semua angka yang ada dalam teks!

3. Mengganti Pola dengan replace()

Kalau pengen ganti teks tertentu, kita bisa pakai replace()!

Misalnya, kita mau mengganti semua angka dalam teks dengan tanda "X":

let teks = "Nomor saya 08123456789";
let hasil = teks.replace(/\d/g, "X");

console.log(hasil);
// Output: "Nomor saya XXXXXXXXXXX"

\d berarti cari angka satuan dan g (global) buat ngeganti semua angka.

Beberapa Contoh Pola RegExp

Kalau kamu mau mulai main dengan RegExp, ini beberapa pola dasar yang wajib dipahami:

Pola Arti Contoh
/hello/ Mencari kata "hello" dalam teks "hello world".test(/hello/) → true
/\d+/ Mencari angka "Harga: 15000".match(/\d+/) → ["15000"]
/\s/ Mencari spasi "Hello World".match(/\s/) → [" "]
/^A/ Mencari kata yang diawali huruf "A" "Apple".match(/^A/) → ["A"]
/ing$/ Mencari kata yang diakhiri "ing" "coding".match(/ing$/) → ["ing"]
/[aeiou]/g Mencari semua huruf vokal "hello".match(/[aeiou]/g) → ["e", "o"]
/[0-9]{3}/ Mencari tiga angka berurutan "12345".match(/[0-9]{3}/) → ["123"]

Kesimpulan

Regular Expression itu ibarat senjata rahasia buat mencari, mengganti, dan memvalidasi teks dalam JavaScript. Dibandingkan metode string biasa, RegExp jauh lebih fleksibel dan bisa menangani pola yang lebih kompleks.

Kenapa harus belajar RegExp?

  • Bisa validasi format input user (email, nomor HP, dll)
  • Bisa cari dan ganti teks secara otomatis
  • Bisa memfilter teks yang sesuai pola tertentu

Beberapa metode penting di RegExp:

  • test() → Cek apakah teks mengandung pola
  • match() → Ambil teks yang cocok dengan pola
  • replace() → Ganti teks berdasarkan pola

Jadi, kalau kamu sering bekerja dengan teks atau data, skill Regular Expression ini wajib banget dikuasai!

Selamat eksplorasi dan happy coding!