Pernahkah Anda mencoba menemukan pola berulang dalam sebuah teks? Anda mungkin telah menggunakan sesuatu seperti fungsi pencarian di browser atau pengolah kata Anda, tetapi ketika Anda perlu menemukan sesuatu yang lebih kompleks, itu bisa seperti menemukan jarum di tumpukan jerami.
Untungnya, ada cara untuk memilih pola yang tepat dalam teks sampai ke karakter. Ini disebut ekspresi reguler (RegEx), dan memungkinkan Anda menjadi ahli dalam menelusuri melalui teks.
Di mana saya bisa menggunakan RegEx?
Meskipun Unix dan Linux membuatnya populer, ekspresi reguler tersedia dalam berbagai paket, termasuk Microsoft Word.
Ekspresi reguler paling banyak digunakan di beberapa program Linux terkenal, termasuk grep , Awk dan Sed .
Misalnya, Anda mungkin ingin memeriksa perangkat USB di PC Anda. Menggunakan lspci , Anda akan melihat daftar semua perangkat, dan Anda harus menemukan entri USB sendiri. Sebagai gantinya, Anda dapat menggunakan yang berikut ini untuk hanya menampilkan perangkat USB:
lspci | grep “USB”
Ini adalah contoh paling sederhana dari tindakan RegEx. Ini adalah cara paling populer untuk menggunakan ekspresi reguler di terminal, tetapi bukan satu-satunya. Hari ini Anda dapat menemukan dukungan RegEx di berbagai jenis perangkat lunak, mulai dari editor teks hingga pengelola file.
Menemukan Pola
Anda mungkin pernah menggunakan karakter * , yang berfungsi sebagai wildcard saat memilih file atau folder di terminal. Misalnya, untuk mencantumkan semua file JPG dalam folder, Anda dapat menggunakan:
ls * .jpg
Persamaan RegEx dari yang di atas adalah:
ls | grep -E “.jpg”
Untuk mencari file jpg dan png, gunakan:
ls | grep -E “(.jpg|.png)”
Rentang
Jika Anda ingin mencari rentang karakter tertentu alih-alih pola, Anda dapat melakukannya dengan menentukannya dalam tanda kurung. Jika, misalnya, Anda menggunakan [az] sebagai pola Anda, ini akan cocok dengan string apa pun yang terdiri dari huruf kecil apa pun dari alfabet.
Seperti yang sudah Anda duga, [AZ] hanya akan memilih huruf besar. Untuk memilih rentang huruf apa pun, dalam huruf besar dan kecil, ekspresi akan berubah menjadi [a-zA-Z] .
Untuk menemukan jumlah contoh tertentu dari pola Anda, Anda dapat menyatakannya dalam tanda kurung kurawal. {5} akan mengembalikan lima kemunculan pola Anda. Anda juga dapat menggunakan rentang angka, jadi {5,10} akan memberi Anda lima hingga sepuluh contoh.
Karakter Meta
Dalam ekspresi reguler, Anda juga dapat mencari bagian string dengan dua karakter yang disebut metakarakter. Mereka mirip dengan kecocokan wildcard yang mungkin Anda gunakan di shell.
Yang utama adalah titik sederhana, yang merupakan singkatan dari karakter tunggal lainnya. Jika Anda menggunakan pola c.ll , itu akan cocok dengan “cell†tetapi juga “cull†dan “call.â€
Dengan memasukkan tanda bintang setelah titik, Anda dapat menggunakannya untuk mencocokkan karakter dalam jumlah tak terbatas. Misalnya, .*board akan cocok untuk “keyboard” dan “skateboard”. meskipun “kunci” dan “skate” memiliki jumlah huruf yang berbeda.
Melarikan diri
Anda mungkin telah memperhatikan bahwa dalam contoh kami, di mana kami memilih berbagai jenis file gambar, kami menggunakan garis miring terbalik sebelum tanda titik (“.jpgâ€). Begitulah cara Anda menghindari karakter khusus di RegEx.
Jika kita tidak menggunakannya, pola kita tidak hanya akan cocok dengan ekstensi file, string seperti “.jpg” dan “.png”, tetapi juga akan cocok dengan “ajpg” dan “opng”. Ingat, . adalah wildcard yang cocok dengan karakter apapun.
Jangkar dan Batas
Jangkar dan batasan memungkinkan Anda untuk menentukan dengan lebih tepat apa yang Anda cari.
Untuk menemukan hanya satu kata “komputer”, tanpa karakter lain yang dilampirkan sebelum atau sesudahnya, Anda harus mendefinisikan polanya sebagai <komputer> .
Anda juga dapat mencari secara khusus pola yang muncul di awal atau akhir baris. Ini dicapai dengan karakter ^ dan $ masing-masing.
Jadi, jika Anda hanya ingin menemukan entri di mana kata “komputer” muncul di awal baris, pola Anda akan terlihat seperti ^komputer . Sebaliknya, ketika berada di akhir baris, polanya akan berubah menjadi computer$ .
Itu adalah aturan sederhana RegEx, yang juga dapat Anda gabungkan untuk menemukan dengan tepat pola yang Anda cari. Anda dapat mencari rentang karakter di awal baris atau mengganti kata di akhir, tanggal tertentu, atau rentang tahun, menggunakan satu string teks.
Jangan lupa untuk melihat lembar contekan Ekspresi Reguler kami untuk menguasai ekspresi reguler.