Apa itu Regex?

 Apa itu Regex?

  • (Regular Expression)
Regex

Regex adalah sebuah teks (string) yang mendifinisikan sebuah pola pencarian sehingga dapat membantu kita untuk membantu matching (pencocokan), locate (pencarian), dan manipulas teks.
contoh: (?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8.}

  • Sejarah Singkat dari Regex
Pertamakali muncul di tahun 1951...

Ditemukan oleh Stephen Cole Kleene (Ilmuan matematika) saat menjelaskan teori tentang konsep bahasa formal.



Kemudian diadopsi dan umum digunakan pada beberapa program pengolah teks seperti sed, awk, grep, dll


  • Program dari Regex


- Vadilasi Data

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.


- Pemcarian Teks

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.



- Menupulasi teks seperti find & replace

  • Contoh Regex untuk Vadilasi Data



  • 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.
Sebenarnya tidak perlu dihafal.. karena kita bisa memanfaatkan dua website ini
1. regex101.com
2. regexr.com
untuk belajar dan mengetes regex


sumber: petanikode

 

Komentar

Postingan Populer