Memahami ekspresi reguler
Jika Anda belum pernah menggunakan ekspresi reguler, Anda mungkin kurang akrab dengan istilah dan konsep ini. Mereka bukan novel seperti yang Anda pikirkan.
Harap ingat bagaimana menemukan file di hard drive Anda. Anda pasti akan menggunakan karakter dan * untuk membantu menemukan file yang Anda cari. Karakter mencocokkan satu karakter dalam nama file, sementara * cocok dengan satu atau lebih karakter. Pola seperti 'data? .Dat' dapat menemukan file berikut:
data1.dat
data2.dat
Datax.dat
datan.dat
Jika karakter * digunakan sebagai pengganti karakter, jumlah file yang ditemukan akan diperluas. 'Data*.dat' dapat mencocokkan semua nama file di bawah ini:
data.dat
data1.dat
data2.dat
data12.dat
Datax.dat
Dataxyz.dat
Meskipun metode pencarian file ini tentu saja berguna, ini juga sangat terbatas. Kemampuan terbatas?
Asal awal ekspresi reguler
Nenek moyang ekspresi reguler dapat ditelusuri kembali ke studi awal tentang bagaimana sistem saraf manusia bekerja. Warren McCulloch dan Walter Pitts, dua ahli neurofisiologis, telah mengembangkan cara matematis untuk menggambarkan jaringan saraf ini.
Pada tahun 1956, seorang ahli matematika Amerika bernama Stephen Kleene menerbitkan sebuah makalah berjudul Notation of Neural Net Events berdasarkan karya awal McCulloch dan Pitts, memperkenalkan konsep ekspresi reguler. Ekspresi reguler adalah ekspresi yang digunakan untuk menggambarkan aljabar yang disebut set reguler, sehingga istilah ekspresi reguler digunakan.
Selanjutnya ditemukan bahwa pekerjaan ini dapat diterapkan pada beberapa penelitian awal menggunakan algoritma pencarian komputasi Ken Thompson, penemu utama UNIX. Aplikasi praktis pertama untuk ekspresi reguler adalah editor QED di UNIX.
Seperti yang mereka katakan, yang tersisa adalah sejarah yang terkenal. Ekspresi reguler telah menjadi bagian penting dari editor berbasis teks dan alat pencarian sejak saat itu.
Menggunakan ekspresi reguler
Dalam operasi pencarian dan penggantian yang khas, teks yang tepat yang dapat ditemukan harus disediakan. Teknik ini mungkin cukup untuk tugas pencarian dan penggantian sederhana dalam teks statis, tetapi karena kurangnya fleksibilitas, sulit atau bahkan tidak mungkin untuk mencari teks dinamis.
Menggunakan ekspresi reguler, Anda dapat:
Menguji pola string. Misalnya, Anda dapat menguji string input untuk melihat apakah ada pola nomor telepon atau pola nomor kartu kredit dalam string. Ini disebut validasi data.
Ganti teks. Anda dapat menggunakan ekspresi reguler dalam dokumen untuk mengidentifikasi teks tertentu, dan kemudian Anda dapat menghapus semuanya, atau menggantinya dengan teks lain.
Ekstrak substring dari string sesuai dengan pencocokan pola. Dapat digunakan untuk menemukan teks tertentu dalam bidang teks atau input.
Misalnya, jika Anda perlu mencari seluruh situs Web untuk menghapus beberapa materi yang sudah ketinggalan zaman dan mengganti beberapa tag pemformatan HTML, Anda dapat menguji setiap file menggunakan ekspresi reguler untuk melihat apakah materi atau HTML yang Anda cari ada dalam format file tersebut. . Metode ini memungkinkan Anda untuk mempersempit file yang terkena dampak ke file -file yang berisi materi yang ingin Anda hapus atau ubah. Kemudian Anda dapat menggunakan ekspresi reguler untuk menghapus bahan yang sudah ketinggalan zaman, dan akhirnya, Anda dapat menggunakan ekspresi reguler lagi untuk menemukan dan mengganti tag yang perlu diganti.