Cara Menggunakan Ekspresi Reguler di JavaScript Read Now

Diposting pada

Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Ekspresi reguler, yang dikenal sebagai “regex” atau “regexp”, adalah string yang menjelaskan pola pencarian. Anda dapat menggunakan ekspresi reguler untuk memeriksa apakah string berisi pola tertentu, mengekstrak informasi dari string, dan mengganti bagian string dengan teks baru.


Pelajari sintaks dasar ekspresi reguler dan cara menggunakannya dalam JavaScript.

Sintaks Dasar Ekspresi Reguler

Ada dua cara untuk membuat ekspresi reguler dalam JavaScript: menggunakan literal ekspresi reguler dan menggunakan the RegExp konstruktor.

Literal ekspresi reguler terdiri dari pola yang diapit di antara garis miring ke depan, diikuti dengan bendera opsional.

Sebagai contoh:

 // Without flag
const regexExpression_1 = /pattern/

// With flag
const regexExpression_2 = /pattern/flag

Bendera adalah parameter opsional yang bisa Anda tambahkan ke ekspresi reguler untuk mengubah perilakunya. Sebagai contoh:

 const regexFlag = /the/g;

Itu g bendera menunjukkan bahwa ekspresi harus cocok dengan semua kejadian, bukan hanya yang pertama.

Anda juga dapat membuat ekspresi reguler menggunakan RegExp konstruktor. Sebagai contoh:

 const regexExpression = new RegExp("Pattern", "g");

Itu RegExp konstruktor mengambil dua parameter: pola—string atau literal ekspresi reguler—dan bendera.

Ada dua flag yang cukup umum yang akan Anda gunakan dengan ekspresi reguler di JavaScript:

  • g: Bendera global membuat ekspresi reguler cocok dengan semua kemunculan pola dalam string yang diberikan, bukan hanya satu kemunculan.
  • saya: Bendera yang tidak peka huruf besar kecil membuat ekspresi reguler mengabaikan huruf besar dari pola dan mencocokkan karakter huruf besar dan kecil dalam string yang diberikan.

Anda dapat menggunakan flag secara bersamaan dalam satu ekspresi dalam urutan apa pun. Sebagai contoh:

 const regexExpression = new RegExp("Pattern", "gi");

Ungkapan ini akan cocok dengan semua kemunculan “Pola”, terlepas dari kasusnya.

Metakarakter Ekspresi Reguler

Dalam ekspresi reguler, karakter tertentu, yang dikenal sebagai karakter meta, memiliki arti khusus. Anda dapat menggunakannya untuk mencocokkan jenis karakter atau pola tertentu.

Berikut adalah beberapa karakter meta yang paling umum digunakan dan artinya:

  • Karakter Wildcard (.): Karakter ini cocok dengan karakter tunggal apa pun kecuali untuk baris baru. Ini adalah alat yang berguna untuk mencocokkan pola dengan karakter yang tidak diketahui.
  • Bintang Kleene (*): Karakter ini cocok dengan nol atau lebih kejadian dari karakter atau grup sebelumnya. Ini memungkinkan karakter atau grup sebelumnya muncul beberapa kali dalam string, termasuk nol.
  • Karakter Opsional (?): Karakter ini cocok dengan nol atau satu kejadian dari karakter atau grup sebelumnya.
  • Mulai Jangkar Garis (^): Karakter ini hanya cocok dengan awal baris atau string.
  • Akhir Jangkar Garis ($): Karakter ini cocok dengan akhir baris atau string.
  • Kumpulan Karakter/Kelas ([]): Kumpulan karakter cocok dengan karakter apa pun dari kumpulan karakter dalam string. Anda mendefinisikannya menggunakan tanda kurung siku [] dan Anda dapat menentukan sekumpulan karakter tetap, karakter khusus, atau grup karakter tertentu.
  • Karakter Pergantian (|): Karakter ini cocok dengan karakter atau grup sebelumnya atau berikutnya. Cara kerjanya mirip dengan operator OR JavaScript.
  • Mengelompokkan Karakter (()): Karakter pengelompokan memungkinkan Anda untuk mengelompokkan karakter atau sub-ekspresi, menerapkan operator sebagai satu unit, dan mengontrol urutan operasi.

Menguji String Terhadap Ekspresi Reguler dalam JavaScript

Di JavaScript, Anda dapat menguji string terhadap ekspresi reguler menggunakan beberapa metode.

Bagian ini menganggap Anda memiliki pemahaman dasar tentang ekspresi dan pola reguler. Jika Anda merasa tidak nyaman dengan ekspresi reguler, lihat panduan pemula untuk ekspresi reguler terlebih dahulu.

Metode pengujian

Itu .tes() metode mengembalikan boolean yang menunjukkan apakah ekspresi reguler cocok dengan string atau tidak. Metode ini mengambil string untuk melakukan pencarian sebagai argumen. Ini sangat berguna untuk pemeriksaan sederhana.

Sebagai contoh:

 let regex = /.com$/;
let str = "example.com";
console.log(regex.test(str)); // true

Ekspresi reguler ini cocok dengan string yang diakhiri dengan “.com”.

Metode eksekusi

Itu .exec() metode mengembalikan larik yang berisi teks yang cocok dan grup yang diambil atau batal jika tidak menemukan kecocokan. Metode ini mengambil string untuk melakukan pencarian sebagai argumen. Ini berguna untuk ekspresi reguler yang lebih kompleks.

Sebagai contoh:

 let regex = /^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
let str = "123-456-7890";
let result = regex.exec(str);

if (result !== null) {
  console.log(`${result[0]} is a valid phone number`);
} else {
  console.log("Invalid phone number");
}

Ekspresi reguler di atas cocok dengan string yang dimulai dengan ” opsional(“, tiga digit, dan opsional “)“. Kemudian mencari opsional ““, “.“, atau spasi, diikuti dengan tiga digit. Akhirnya mencari opsi ““, “.“, atau spasi yang diikuti oleh empat digit di akhir string.

Ekspresi reguler ini mencocokkan nomor telepon dalam format “(xxx) xxx-xxxx”, “xxx-xxx-xxxx”, “xxx.xxx.xxxx”, atau “xxx xxx xxxx”.

Jika menemukan kecocokan, .exec() mengembalikan larik yang berisi teks yang cocok dan grup yang diambil (ditentukan oleh tanda kurung). Ini akan menyertakan setiap grup sebagai elemen tambahan dalam larik yang dikembalikannya. Ini memungkinkan Anda untuk mengakses bagian tertentu dari teks yang cocok, yang dapat membantu Anda mengekstrak informasi dari sebuah string.

Metode ganti

Itu .mengganti() metode mencari kecocokan antara ekspresi reguler dan string dan mengganti teks yang cocok dengan teks pengganti yang ditentukan. Ini adalah metode objek string, dan dibutuhka
n ekspresi reguler dan string pengganti sebagai argumen.

Sebagai contoh:

 let string = "The quick brown fox jumps over the lazy dog.";
let expression = /The/gi;
let newString = string.replace(expression, "a");
console.log(newString); // "a quick brown fox jumps over a lazy dog."

Contoh ini memanggil mengganti() metode pada rangkaian variabel, meneruskan ekspresi reguler, ekspresi. Ekspresi reguler akan mencocokkan semua kemunculan “The” dalam string, terlepas dari kasusnya. Panggilan ke metode ganti menginstruksikannya untuk mengganti setiap kemunculan dengan string “a”.

Pertimbangan Performa Saat Menggunakan Ekspresi Reguler

Meskipun ekspresi reguler membantu mencocokkan dan memanipulasi string, ekspresi reguler juga bisa mahal dalam hal performa. Membuat pola sespesifik mungkin dan menjaganya tetap sederhana sangat penting untuk menjaga kinerjanya.


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

close