Apa itu Regex?
Apa itu Regex?
- (Regular Expression)
- Sejarah Singkat dari Regex
Seperti contoh kasus password tadi, regex digunakan untuk matching atau pencocokan teks.
Pertama-tama, kita harus mendefinisikan pola regex untuk data yang valid. Kemudian, kita lakukan pencocokan dengan pola tersebut.
Berikut ini contohnya di HTML dan Javascript.
Kode HTML:
<form id="myform">
<label for="passowrd">Buat Password</label>
<input type="password" name="password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" />
<input type="submit" value="simpan" />
<p id="invalid-passowrd" style="display:none;color:red">Panjang password minimal 8 kareter, dan harus mengandung huruf kapital, angka, dan simbol</p>
</form>
Perhatikan atribut pattern
, atribut ini digunakan untuk menyimpan pola regex. Pada contoh di atas, polanya adalah pengecekan karakter yang diinputkan pada password.
Ini pernah saya bahas juga di: Validasi Data di HTML.
Berikut ini kode Javascript untuk memberikan feedback:
const passwordField = document.querySelector("[name=password]");
passwordField.addEventListener("keyup", (event) => {
if(!passwordField.validity.valid){
console.error("passowrd invalid");
document.getElementById("invalid-passowrd").style.display = "block";
} else {
console.info("passowrd valid");
document.getElementById("invalid-passowrd").style.display = "none";
}
});
Pada contoh ini, kita tidak menggunakan regex di dalam Javascript. Melainkan kita menggunakannya pada HTML.
Kode javascript di atas, hanya bertugas untuk mengecek.. apakah nilai dari field password sudah sesuai atau tidak dengan yang ada pada atribut pattern
.
Contoh penerapan regex untuk pencarian sebenarnya hampir sama dengan validasi data.
Pola regex dimasukan dalam kata kunci, lalu dicocokan dengan database atau teks.
Contoh program yang menerapkan ini adalah grep
.
Program grep
(globally search for a regular expression and print matching lines) biasanya kita temukan di sistem operasi Unix dan Linux, bahkan ini menjadi program yang selalu ada di setiap distro Linux.
Program grep
melakukan pencarian berdasarkan pola regex yang diberikan, lalu mencetak output hasilnya.
Contoh:
Misalkan kita ingin mencari teks pada syslog
. Kita bisa melihat isi file syslog
dengan cat.
cat /var/log/syslog
Perintah ini akan menampilkan banyak sekali teks. Nah di sini kita bisa memanfaatkan grep
untuk mencari teks tertentu pada log.
Misalnya:
Saya ingin tau apa saja log yang berkaitan dengan jaringan:
cat /var/log/syslog | grep network
Perhatikan, kata network
ini adalah pola regex yang akan menjadi kata kunci pencarian.
- Regex ada di hampir setiap bahasa pemrograman. kamu bisa coba sendiri dengan bahasa favoritmu.bagian tersulit dalam belajar regex adalah membuat sendiri pola dan menghafal simbol-simbolnya.
Komentar
Posting Komentar