Regular Expression JavaScript

Regular expression adalah sebuah pola kata yang digunakan dalam sebuah operasi pencarian text.

Syntax

/pattern/modifier

[pattern] merupakan pola kata yang ingin digunakan dalam pencarian sedangkan [modifier] adalah pelengkapnya.

Misalkan saja kita ingin mencari kata [martabak] dalam sebuah kalimat maka terlebih dahulu kita akan membuat sebuah regular expression seperti di bawah ini:

/martabak/i

Code di atas dinamakan regular expression.

[/martabak/] adalah pola yang digunakan untuk mencari kata [martabak] dalam sebuah kalimat.

Dengan menambahkan [i] maka huruf besar dan kecil dianggap sama dalam pencarian (MARTABAK sama dengan martabak). Tanpa [i] maka huruf besar dan kecil akan dianggap tidak sama (B tidak sama dengan b).

Menggunakan string method

Biasanya regular expression digunakan oleh dua string method yaitu: search() dan replace().

search() method berguna untuk mencari kata atau character dalam sebuah string dan kemudian memberitahukan posisinya

replace() method berguna untuk mencari kata atau character dalam sebuah string kemudian menggantinya dengan kata atau character lain yang diinginkan.

Berikut ini adalah contoh penggunaan regular expression dalam search() method:

Code JavaScript 1:

<script>
var string1 = "Hari ini Tiffany pergi ke kantor dan bertemu dengan Levina.";
var yangCocok1 = string1.search(/Levina/i);
document.write(yangCocok1);
</script>

Hasil code JavaScript 1:

52

Modifier

Modifier berguna untuk memodifikasi prilaku atau cara kerja regular expression.

Berikut ini adalah daftar beberapa modifier yang ada:

Regexp Penjelasan
i Membuat huruf besar dan kecil dianggap sama (B sama dengan b).
s Memodifikasi prilaku meta character titik [.].
m Memodifikasi prilaku meta character ^ dan anchor $ dalam pencarian.
x Memudahkan regular expression untuk dibaca dengan dipisah-pisahkan dan diberi comment.
U Mengubah sifat greedy (serakah) regular expression menjadi ungreedy (tidak serakah).

Pattern

Pattern yang ada di dalam regular expression bisa dilengkapi dengan expression, metacharacter dan quantifier.

Berikut ini adalah daftar expression:

Expression Penjelasan
[az] Mencari semua character yang ada di dalam symbol bracket [] atau character yang ada di antaranya.
[^az] Mencari semua character yang tidak ada di dalam symbol bracket [] dan character yang tidak berada di antaranya.
[0-9] Mencari semua digit yang ada di antara dua angka di dalam symbol bracket [].
[^0-9] Mencari semua digit yang tidak ada di dalam symbol bracket [] dan tidak ada diantaranya.
(a|b) Mencari alternative kata yang dipisahkan oleh symbol pipa |. Bila kata a tidak ditemukan maka kata b yang akan dicari.

Meta character

Meta character adalah beberapa character yang memiliki arti spesial di dalam regular expression.

Berikut ini adalah daftar beberapa meta character yang ada:

  • \ (Backslash)
  • ^ (Caret)
  • [ (Opening brace)
  • ] (Closing brace)
  • . (Full stop)
  • * (Asterix)
  • + (Plus)
  • ? (Question Mark)
  • { (Opening curly brace)
  • } (Closing curly brace)
  • | (Pipe)
  • ( (Opening parens)
  • ) (Closing parens)

Jika kita ingin menggunakan meta character sebagai salah satu character yang ingin dicari di dalam regular expression maka kita bisa menggunakan escape character backslash \.

Contoh, kita ingin mencari kata ini: 1+1. Pada kata tersebut ada meta character +. Untuk memasukkan meta character + sebagai bagian kata yang ingin dicari maka kita harus menambahkan symbol escape character bakslash \ di depan meta character tersebut seperti ini: \+.

Berikut ini adalah code regular expression bila kita ingin mencari kata 1+1.

/1\+1/

Quantifier

Quantifier adalah regular expression yang mencocokkan character secara berulang.

Berikut ini adalah daftar regular expression yang termasuk ke dalam quantifier:

Regexp Penjelasan
* Mencocokkan character yang ada sebelum meta character * sebanyak nol kali atau lebih. Meta character * memiliki arti yang sama dengan meta character {0,}.
+ Mencocokkan character yang ada sebelum meta character + sebanyak satu kali atau lebih. Meta character + memiliki fungsi yang sama dengan meta character {1,}.
? Mencocokkan character yang ada sebelum meta character ? sebanyak nol kali atau satu kali. Meta character ? memiliki fungsi yang sama dengan meta character {0,1}.
a{x} Mencocokkan character [a] sebanyak [x] kali.
a{x,y} Mencocokkan character [a] sebanyak [x] kali (minimum) sampai [y] kali (maksimum).
a{x,} Mencocokkan character [a] sebanyak minimal [x] kali.

RegExp object

Regular expression sebenarnya adalah sebuah object bernama RegExp object.

RegExp object bisa diproses oleh RegExp property dan RegExp method.

RegExp property

Berikut ini adalah daftar beberapa RegExp Property:

Property Penjelasan
constructor Menghasilkan function yang membuat RegExp object prototype
global Memeriksa apakah modifier [g] digunakan
ignoreCase Memeriksa apakah modifier [i] digunakan
lastIndex Menentukan index yang berguna sebagai posisi awal pencarian kata atau character yang cocok berikutnya
multiline Memeriksa apakah modifier [m] digunakan
source Menghasilkan text dari RegExp pattern

RegExp method

Berikut ini adalah daftar beberapa RegExp method:

Method Penjelasan
compile() Mengumpulkan regular expression. Deprecated pada versi 1.5.
exec() Memeriksa kecocokan di dalam string. Menghasilkan kata atau character yang cocok paling awal.
test() Memeriksa kecocokan di dalam string. Menghasilkan true atau false.
toString() Menghasilkan string dari regular expression.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>