Utama/Video/Bagaimana Regular Expression (Regex) Mengesan Corak Teks Yang Rumit Dalam Sejuta Baris?
Teknologi dan AI dalam 2 Minit
Bagaimana Regular Expression (Regex) Mengesan Corak Teks Yang Rumit Dalam Sejuta Baris?
Kalau kau nak cari semua nombor telefon dalam sejuta baris log, kau suruh seorang posmen baca setiap baris satu per satu guna kanta pembesar.
Apa anda akan pelajari
Tiga tahun kemudian, dia baru sampai baris dua ratus, dan matanya dah berpinar!
Tapi corak kau tersangkut di tengah nombor siri yang lebih panjang, lalu keluar padanan palsu!
Tapi kalau enjin cuba semua kemungkinan secara membabi buta dan asyik berpatah balik, sejuta baris boleh buat komputer tersekat lama!
Siri Teknologi dan AI dalam animasi 3D LEGO (V916-046) oleh KongsikanDotCom.
Kongsi video ini
Nota video
Teks penuh video
Kalau kau nak cari semua nombor telefon dalam sejuta baris log, kau suruh seorang posmen baca setiap baris satu per satu guna kanta pembesar. Tiga tahun kemudian, dia baru sampai baris dua ratus, dan matanya dah berpinar! Tapi setiap nombor telefon berbeza, jadi carian perkataan biasa langsung tak jumpa apa-apa!
Jadi, kau tulis corak, bukan perkataan tepat, contohnya backslash d bermaksud mana-mana satu digit dari kosong hingga sembilan. Ini namanya character class atau kelas aksara. Tapi panjang nombor telefon tak sama, ada sepuluh digit, ada sebelas!
Jadi, kau tambah kurungan kerinting sepuluh koma sebelas selepas corak tadi, maksudnya ulang corak itu sepuluh hingga sebelas kali, manakala tanda tambah pula bermaksud satu atau lebih. Ini namanya quantifier. Tapi corak kau tersangkut di tengah nombor siri yang lebih panjang, lalu keluar padanan palsu!
Jadi, kau pasang penanda sempadan, caret untuk awal baris, dolar untuk hujung baris, dan backslash b untuk sempadan perkataan. Ini namanya anchor. Tapi kau cuma nak kod kawasan, bukan seluruh nombor telefon!
Jadi, kau balut bahagian corak itu dengan tanda kurungan, dan enjin regex akan simpan bahagian tersebut dalam kotak berasingan untuk diguna semula. Ini namanya capture group. Tapi kalau enjin cuba semua kemungkinan secara membabi buta dan asyik berpatah balik, sejuta baris boleh buat komputer tersekat lama!
Jadi, enjin seperti grep dan ar i 2 menyusun corak kau menjadi mesin keadaan terhingga, yang membaca setiap aksara sekali lalu sahaja tanpa berpatah balik. Ini namanya finite state automaton. Sekarang satu baris corak pendek boleh tapis sejuta baris teks dalam sekelip mata, dari nombor telefon, alamat emel, sampai log ralat server.
Kelas aksara, quantifier, anchor dan capture group bergabung jadi satu mesin pengesan corak yang wajib ada dalam kotak alat dev kau. Lepas ni nak belajar apa pula?
Siri Teknologi dan AI dalam animasi 3D LEGO (V916-046) oleh KongsikanDotCom. Tonton lagi di
Animasi 3D dibina dengan kod (Three.js); suara latar dijana dengan bantuan AI dan disemak oleh pasukan KongsikanDotCom.
Teruskan menonton
Video berkaitan
-

Apa Itu NAT (Network Address Translation) & Cara Ia Menyelamatkan Kekurangan IPv4?
-

Bagaimana VPN (Virtual Private Network) Menyembunyikan Jejak & Lokasi Anda?
-

Apa Itu Model OSI 7 Lapisan (OSI Model) & Bagaimana Data Mengalir Di Dalamnya?
-

Bagaimana HTTPS & Sijil SSL/TLS Mengenkripsi Trafik Pelayar Web Anda?
-

Apa Itu BGP (Border Gateway Protocol) & Kenapa Kesilapan BGP Boleh Lumpuhkan Internet Dunia?
Jangan terlepas video seterusnya
Langgan channel YouTube KongsikanDotCom untuk video ilmu, sains & fakta serta doa harian — kandungan baharu diterbitkan setiap hari.





