Sintaks Corak Lua
Pelajari kelas aksara %d, %a, %s, sauh dan pengkuantiti dalam corak Lua.
Sintaks Corak Lua ialah pelajaran Lua Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Lua Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Lua Academy merangkumi sejumlah 4 pelajaran.
Corak Lua berbanding Regex
Lua menggunakan bahasa coraknya sendiri, bukan regex POSIX penuh. Bahasa ini lebih mudah dan pantas, tetapi tidak mempunyai pengendalian pilihan (|) dan pandangan hadapan.
Kelas Aksara
%d digit, %a huruf, %l huruf kecil, %u huruf besar, %s ruang kosong, %p tanda baca, %w abjad angka. Huruf besar menafikan: %D = bukan digit.
Pengkuantiti
* sifar atau lebih (tamak), + satu atau lebih, ? sifar atau satu, - sifar atau lebih (malas/padanan terpendek).
local s = "hello world"
print(s:match("%a+")) -- hello (first word)
print(s:match(".-o")) -- hell (lazy stops early)Penambat
^ menambat pada permulaan rentetan, $ menambat pada penghujung.
print(("hello"):match("^h")) -- h
print(("hello"):match("o$")) -- o
print(("hello"):match("^world")) -- nilSet Aksara dengan []
Kelas aksara tersuai: [aeiou] sepadan dengan mana-mana vokal, [^aeiou] sepadan dengan mana-mana aksara bukan vokal, [a-z] sepadan dengan huruf kecil.
local s = "Hello World 123"
print(s:match("[A-Z]")) -- H
print(s:match("[0-9]+")) -- 123Meloloskan Aksara Ajaib
Aksara ajaib ( ) . % + - * ? [ ^ $ mesti diloloskan dengan %.
local s = "price: 3.14"
print(s:match("%d+%.%d+")) -- 3.14 (. escaped to match literal dot)Kad Bebas .
. sepadan dengan mana-mana satu aksara. Gabungkannya dengan pengkuantiti: .- ialah padanan malas semua aksara.
print(("abc123"):match("(.-)%d")) -- abc (lazy, stops at first digit)Corak Frontier %f
%f[set] sepadan dengan kedudukan kosong antara aksara yang tiada dalam set dengan aksara yang ada dalam set — berguna untuk sempadan perkataan.
local s = "hello world foo"
for w in s:gmatch("%f[%a]%a+") do
print(w) -- hello, world, foo
endstring.find berbanding string.match
string.find mengembalikan indeks mula/akhir (serta tangkapan). string.match mengembalikan teks yang sepadan (atau tangkapan) secara terus.
local s = "date: 2025-01-15"
local i, j = s:find("%d%d%d%d%-%d%d%-%d%d")
print(i, j) -- 7 16
print(s:match("(%d+)-(%d+)-(%d+)")) -- 2025 01 15Padanan Seimbang %b
%bxy sepadan dengan sepasang aksara x dan y yang seimbang. Contohnya, %b() sepadan dengan tanda kurung yang seimbang termasuk tanda kurung bersarang.
local s = "func(a, (b+c), d)"
print(s:match("%b()")) -- (a, (b+c), d)Had Corak
Corak Lua tidak menyokong: pilihan (a|b), rujukan ke belakang, pandang ke hadapan/pandang ke belakang, atau kumpulan bernama. Untuk keperluan tersebut, gunakan LPEG atau pustaka regex luaran.
Soalan Sintaks Corak
Corak manakah yang sepadan dengan satu atau lebih digit?
Imbas Kembali: Sintaks Corak Lua
Corak Lua menggunakan kelas %d %a %s, pengkuantiti * + ? -, penambat ^ $, set [], dan %b untuk padanan seimbang. Corak ini cekap tetapi tidak mempunyai pilihan regex.
Pelajari Lua 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
- 40
- Pelajaran
- 159
Soalan Lazim
Adakah pelajaran “Sintaks Corak Lua” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Lua Academy, termasuk “Sintaks Corak Lua”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Lua Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Sintaks Corak Lua”?
Pelajari kelas aksara %d, %a, %s, sauh dan pengkuantiti dalam corak Lua. Anda berlatih Lua Academy 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 Lua Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Lua Academy 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 “Sintaks Corak Lua” 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 Lua Academy ini?
Ya. Setiap pelajaran Lua Academy 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
- Sintaks Corak Lua
- Tangkapan dan string.match
- string.gmatch untuk Tokenisasi
- string.gsub untuk Transformasi