B2B series: Perkenalan tentang regex
Back To Basics chapter 2.
Kali ini lebih ingin nulis dalam bahasa Indonesia :D
Cerita singkat: pada zaman dahulu kala, ketika saya baru masuk dunia kerja sebagai fresh graduate, CTO pertama saya mengenalkan saya pada regex. Saya langsung berpikir code macam apa ini???!!! Beliau hanya menyuruh saya mencoba dan memberikan website https://regex101.com/. Well, sampai sekarang saya masih struggle kok pakai regex. Sudah lihat cheatsheet tetap saja kadang tidak bisa mendapatkan pola yang saya inginkan. Tapi saya ingin berbagi apa yang saya tahu dan yang biasa saya lakukan ketika membuat regex.
Regex
Regex merupakan sebuah singkatan dari Regular Expression. Ketika kita mendefinisikan sebuah regex, sebenarnya kita sedang membuat suatu pola pencarian yang dapat kita gunakan untuk pencocokan, pencarian maupun manipulasi suatu teks.
Contoh mudahnya seperti ini. Saya mempunyai sebuah kalimat: Saya ingin menjadi penulis artikel yang hebat dan bermanfaat di Medium.
Terdapat banyak huruf dan kata di kalimat tersebut. Contohnya kata Medium. Jika kita mendefinisikan polanya menjadi Medium, maka pola kata akan dianggap berhasil menemukan kata Medium dalam kalimat tersebut.
Syntax
Sekarang mari kita buka https://regex101.com/.
Ini adalah field kita untuk mendefinisikan pola pencarian kita.
Sedangkan ini dimana kita menuliskan kalimat yang ingin kita cari polanya.
Sebelum lanjut, mari kita buktikan teori regex kita di atas.
Jika TEST STRING menunjukkan suatu kata atau kalimat dengan blok berwarna, maka itu menandakan bahwa pola regex yang kita gunakan adalah benar. Nah itu kan contohnya hanya alphabet. Bagaimana dengan angka dan simbol? Yuk cobain !!!
Angka
Yang paling umum adalah dengan menggunakan [0–9]
. Namun kita juga bisa menggunakan \d
untuk menentukan pola angka.
Menggunakan regex tersebut akan mengambil masing-masing 1 angka dari 0 sampai 9. Bagaimana jika kita ingin mengambil keseluruhan angka 01234567890? Mudah saja. Kita cukup menambahkan simbol +
di belakang sebuah regex.
Alphabet
Kita dapat menulis regex secara langsung seperti Medium atau kita dapat menuliskan secara lebih general menjadi [a-z],[A-Z] maupun [a-zA-Z].
Simbol
Banyak simbol yang kita gunakan sehari-hari. Lantas bagaimana menuliskan simbol-simbol tersebut di dalam regex? Versi mudahnya adalah dengan menuliskan simbol yang kita ingin di dalam kurung [ dan ].
Namun ada beberapa simbol yang harus kita ubah sedikit.
Minimum and Maximum
Kita dapat menentukan berapa karakter yang ingin kita ambil. Contoh dalam kata mpermperpisang saya hanya ingin mengambil 3 huruf pertama saja. Maka pertama saya menulis ^ (prefix). Selanjutnya saya menuliskan 3 huruf pertama menjadi {1,3} (karakter ke-1 sampai karakter ke-3).
Teman-teman dapat mencari dengan keyword regex cheat sheet
jika membutuhkan. — MperMperpisang
Reference :