Skip to main content

Regular Expression

· 3 min read
Wisnu Harjanta

Dalam regexp polanya selalu diawali dan diakhiri dengan karakter / atau yang disebut delimiter contoh:

/[abc]/
/[a-zA-Z]/

kemudian untuk menggunakan regexp dapat digunakan dengan function seperti ini

const r = /[aeiou]/gi.test("hello");
console.log(r);
//output
true;

atau bisa menggunakan function pada object string

const s = "hello";
const r = s.match(/[aeiou]/gi);

console.log(r)[
// output
("e", "o")
];

untuk membuat regexp yang perlu diketahui terlebih dahulu yaitu bagaimana pola yang ingin dicari.

sebagai contoh ada sebuah string

Hai, Apa Kabar? Bagaimana Kesehatan Kamu

Pada string diatas kita akan mencari:

  • Satu suku kata
  • Berawalan huruf kapital
  • Ambil semua kata yang masuk pada 2 kondisi diatas

Kemudian kita pecah kedalam beberapa regexp

  • \w+ = Satu suku kata
  • [A-Z] =Berawalan huruf kapital
  • g = Semua yang masuk pada kondisi diatas

maka kita susun sebagai berikut

/[A-Z]\w+/g

dengan begini akan mencari kata kata pada sebuah string yang memiliki kondisi cari semua kata kata yang berawalan huruf kapital

penggunaan simbol slash(/)

apabila dalam sebuah text terdapat / seperti pada url http://localhost, maka sebelum slash tersebut perlu ditambahkan backslash untuk mencegah penutupan regexp

misal sebagai contoh regexp seperti ini

/http://localhost/g

jika regexp seperti ini digunakan maka regexp akan memunculkan error invalid regular expresion. maka perlu dirubah seperti dibawah ini

/http:\/\/localhost/g

dengan ini regexp akan berjalan sebagai mana mestinya

Regular expresion options


/: Tanda garis miring mula dan akhir yang digunakan untuk menandai awal dan akhir dari ekspresi regular.

[^aeiou]: Tanda ^ di dalam tanda kurung siku menunjukkan penggunaan "negasi" atau "not". Jadi,

[aeiou] berarti mencocokkan satu huruf vokal, sedangkan [^aeiou] berarti mencocokkan satu huruf yang bukan vokal atau huruf konsonan.

\s: Escaped character \s digunakan untuk mencocokkan karakter whitespace (spasi, tab, line break).

\W: Escaped character \W digunakan untuk mencocokkan karakter non-alphanumeric (karakter selain huruf, angka, dan underscore).

\d: Escaped character \d digunakan untuk mencocokkan satu digit angka.

/g: Flag g (global) menunjukkan bahwa pencarian harus dilakukan secara global untuk menemukan semua kemunculan yang cocok dalam teks.

/i: Flag i (case-insensitive) menunjukkan bahwa pencarian harus dilakukan tanpa memperhatikan perbedaan antara huruf besar dan kecil.

Regexp example

Vowel

/[aeiou]/gi

Konsonan

/[^aeiou]/gi

Konsonan dengan whitespace

/[^aeiou\s\W\d]/gi

Text didalam bracket curly

/\{(.*?)\}/g

Text didalam bracket square

/\[(.*?)\]/g

Ambil text sesuai yang diinginkan

/hello|kamu|dimana/gi

Referensi:

QuickRef