Pengenalan kepada Ungkapan Nalar (Regex)
Fahami sintaks dan konsep teras Ungkapan Nalar untuk pemadanan corak teks yang berkuasa.
Pengenalan kepada Ungkapan Nalar (Regex) ialah pelajaran Penguasaan Baris Perintah Linux & Penskripan Bash percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Penguasaan Baris Perintah Linux & Penskripan Bash, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Penguasaan Baris Perintah Linux & Penskripan Bash merangkumi sejumlah 4 pelajaran.
Apakah Ungkapan Nalar?
Ungkapan Nalar, yang sering dipendekkan sebagai Regex, ialah corak berkuasa yang digunakan untuk mencari dan memanipulasi teks.
Anggaplah ungkapan ini sebagai istilah carian berkuasa tinggi yang boleh memadankan jujukan, aksara atau bahkan kedudukan tertentu dalam teks.
Ungkapan ini digunakan secara meluas dalam pengaturcaraan, penskripan dan alat baris perintah Linux seperti grep, sed dan awk.
Pemadanan Aksara Harfiah
Regex paling mudah memadankan aksara harfiah yang tepat. Jika anda mencari 'apple', regex itu akan menemukan tepat 'apple'.
Mari kita gunakan perintah grep (Global Regular Expression Print) untuk menunjukkan pemadanan asas ini.
echo "apple" > fruits.txt
echo "banana" >> fruits.txt
echo "pineapple" >> fruits.txt
grep "apple" fruits.txt
rm fruits.txtTitik: Sebarang Satu Aksara
Titik (.) ialah aksara khas yang sepadan dengan sebarang satu aksara, kecuali aksara baris baharu.
Ia seperti kad bebas untuk satu kedudukan. Contohnya, c.t akan sepadan dengan "cat", "cot" atau "cut".
echo "cat" > words.txt
echo "cot" >> words.txt
echo "cut" >> words.txt
echo "coat" >> words.txt
grep "c.t" words.txt
rm words.txtAsterisk: Sifar atau Lebih (*)
Asterisk (*) ialah pengkuantiti yang sepadan dengan sifar atau lebih kemunculan aksara atau kumpulan yang berada tepat sebelumnya.
Contohnya, colou*r akan sepadan dengan "color" (sifar huruf 'u') dan "colour" (satu huruf 'u').
echo "color" > spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
echo "cold" >> spellings.txt
grep "colou*r" spellings.txt
rm spellings.txtTanda Tambah: Satu atau Lebih (+)
Tanda tambah (+) sepadan dengan satu atau lebih kemunculan aksara atau kumpulan sebelumnya.
Tidak seperti *, unsur tersebut mesti muncul sekurang-kurangnya sekali. Jadi, go+gle akan sepadan dengan "google" dan "gooogle", tetapi bukan "ggle".
Nota: Agar +, ? dan {} berfungsi secara langsung dengan grep, anda selalunya perlu menggunakan pilihan -E untuk ungkapan nalar lanjutan.
echo "google" > search.txt
echo "goooogle" >> search.txt
echo "ggle" >> search.txt
grep -E "go+gle" search.txt
rm search.txtTanda Tanya: Sifar atau Satu (?)
Tanda tanya (?) sepadan dengan sifar atau satu kemunculan aksara atau kumpulan sebelumnya.
Ia menjadikan sesuatu aksara sebagai pilihan. Contohnya, colou?r akan sepadan dengan "color" (sifar huruf 'u') dan "colour" (satu huruf 'u').
echo "color" >> spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
grep -E "colou?r" spellings.txt
rm spellings.txtPenambat: Awal (^) dan Akhir ($)
Penambat tidak sepadan dengan aksara; penambat sepadan dengan kedudukan tertentu dalam teks.
^sepadan dengan awal baris.$sepadan dengan akhir baris.
Contoh: ^apple sepadan dengan "apple" hanya jika perkataan itu berada pada awal baris. apple$ sepadan dengan "apple" hanya jika perkataan itu berada pada akhir baris.
echo "apple pie" > menu.txt
echo "fresh apple" >> menu.txt
echo "apple" >> menu.txt
grep -E "^apple" menu.txt
grep -E "apple$" menu.txt
rm menu.txtKelas Aksara: Kurungan Siku ([])
Kurungan siku ([]) mentakrifkan kelas aksara yang sepadan dengan sebarang satu aksara dalam set tersebut.
[aeiou]sepadan dengan sebarang satu vokal.[0-9]sepadan dengan sebarang satu digit.[a-zA-Z]sepadan dengan sebarang satu huruf.
Anda juga boleh menafikan sesuatu kelas dengan [^...]; contohnya, [^aeiou] sepadan dengan sebarang aksara yang BUKAN vokal.
echo "cat" > animals.txt
echo "bat" >> animals.txt
echo "rat" >> animals.txt
echo "cot" >> animals.txt
grep -E "[cb]at" animals.txt
grep -E "[^cbr]at" animals.txt
rm animals.txtPengkuantiti: Pendakap Keriting ({})
Pendakap keriting ({}) ialah pengkuantiti yang menentukan bilangan ulangan tepat bagi aksara atau kumpulan sebelumnya.
a{3}sepadan dengan "aaa"a{2,}sepadan dengan "aa", "aaa", "aaaa" dan sebagainya (sekurang-kurangnya 2)a{2,4}sepadan dengan "aa", "aaa", "aaaa" (antara 2 hingga 4)
Ingat untuk menggunakan grep -E bagi pengkuantiti ini.
echo "helllo" > greetings.txt
echo "hello" >> greetings.txt
echo "helo" >> greetings.txt
grep -E "hel{2,3}o" greetings.txt
rm greetings.txtSemakan Pantas Regex
Perhatikan rentetan ini:
bananabanaanabanaananabna
Apakah ungkapan nalar yang akan sepadan hanya dengan "banana" dan "banaana"?
Imbas Kembali Asas Regex
Anda telah mempelajari asas Ungkapan Nalar!
- Regex menggunakan corak untuk mencari dan memanipulasi teks.
- Aksara literal sepadan dengan aksara itu sendiri.
- Aksara khas seperti
.,*,+,?,^,$,[]dan{}menyediakan keupayaan pemadanan yang berkuasa.
Seterusnya, anda akan menggunakan corak ini untuk carian teks lanjutan dengan perintah grep dan pelbagai pilihannya.
Pelajari Bash dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 22
- Pelajaran
- 88
Soalan Lazim
Adakah pelajaran “Pengenalan kepada Ungkapan Nalar (Regex)” percuma?
Ya — teks penuh “Pengenalan kepada Ungkapan Nalar (Regex)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Penguasaan Baris Perintah Linux & Penskripan Bash, tingkat taraf kepada CoddyKit PRO. Kursus Penguasaan Baris Perintah Linux & Penskripan Bash merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pengenalan kepada Ungkapan Nalar (Regex)”?
Fahami sintaks dan konsep teras Ungkapan Nalar untuk pemadanan corak teks yang berkuasa. Anda berlatih Penguasaan Baris Perintah Linux & Penskripan Bash menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Penguasaan Baris Perintah Linux & Penskripan Bash?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Penguasaan Baris Perintah Linux & Penskripan Bash di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Pengenalan kepada Ungkapan Nalar (Regex)” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Penguasaan Baris Perintah Linux & Penskripan Bash ini?
Ya. Setiap pelajaran Penguasaan Baris Perintah Linux & Penskripan Bash menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pengenalan kepada Ungkapan Nalar (Regex)
- Grep Lanjutan dengan Regex
- Menggabungkan Regex dengan sed/awk
- Kumpulan Tangkapan, Rujukan Belakang dan Penggantian