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
