0Pricing
Swift Academy · Pelajaran

Literal Regex dan Pencocokan

Cocokkan pola dengan tipe Regex.

Literal Regex dan Pencocokan adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.

Ekspresi Reguler di Swift

Swift 5.7+ memiliki ekspresi reguler bawaan di pustaka standar dan Foundation. Anda dapat menulis ekspresi reguler sebagai literal di antara garis miring, seperti /\d+/, dan kompilator memeriksanya saat pembangunan.

Literal Ekspresi Reguler

Literal ekspresi reguler menghasilkan nilai Regex. Tipenya menangkap hasil yang diberikan oleh kecocokan. pattern paling sederhana mencocokkan urutan karakter tetap.

let pattern = /hello/
if "hello world".contains(pattern) {
    print("Found hello")
}

wholeMatch(of:)

wholeMatch(of:) hanya berhasil jika seluruh teks cocok dengan pattern. Metode ini mengembalikan kecocokan opsional, atau nil jika seluruh teks tidak cocok.

let digits = /\d+/
if let m = "12345".wholeMatch(of: digits) {
    print("Whole match: \(m.output)")
} else {
    print("No whole match")
}

firstMatch(of:)

firstMatch(of:) memindai teks dan mengembalikan posisi pertama tempat pattern cocok di dalamnya.

let word = /\w+/
if let m = "  swift rocks".firstMatch(of: word) {
    print("First word: \(m.output)")
}

Mengakses Rentang Kecocokan

Kecocokan menyediakan range ke dalam teks asli, sehingga Anda mengetahui lokasi persis kemunculannya.

let text = "abc123def"
if let m = text.firstMatch(of: /\d+/) {
    print("Matched: \(m.output)")
    print("At: \(text[m.range])")
}

Kelas Karakter

Di dalam pattern, \d mencocokkan angka, \w mencocokkan karakter kata, dan \s mencocokkan spasi kosong. Tanda kurung siku mendefinisikan kumpulan khusus seperti [aeiou].

let vowel = /[aeiou]/
if let m = "sky".firstMatch(of: vowel) {
    print("Vowel: \(m.output)")
} else {
    print("No vowels found")
}

Pengulang

Pengulang mengatur pengulangan: * berarti nol atau lebih, + berarti satu atau lebih, ? berarti opsional, dan {n,m} berarti jumlah yang dibatasi.

let phone = /\d{3}-\d{4}/
print("555-1234".wholeMatch(of: phone) != nil)
print("12-34".wholeMatch(of: phone) != nil)

Jangkar

Gunakan ^ untuk menandai awal dan $ untuk menandai akhir baris. Jangkar tidak menggunakan karakter; jangkar menyatakan suatu posisi.

let startsWithCap = /^[A-Z]\w*/
if let m = "Swift".firstMatch(of: startsWithCap) {
    print("Matched: \(m.output)")
}

Pencocokan Tanpa Membedakan Huruf Besar-Kecil

Anda dapat mengabaikan perbedaan huruf besar-kecil dengan menambahkan .ignoresCase() ke nilai ekspresi reguler, yang berguna ketika kapitalisasi masukan tidak dapat diprediksi.

let pattern = /swift/.ignoresCase()
print("I love SWIFT".contains(pattern))

Mencocokkan dengan matches(of:)

matches(of:) mengembalikan kumpulan setiap kecocokan yang tidak saling tumpang tindih dalam teks, sehingga Anda dapat melakukan iterasi pada semuanya.

let nums = "a1 b22 c333"
for m in nums.matches(of: /\d+/) {
    print(m.output)
}

Memvalidasi Masukan

Salah satu penggunaan umum adalah validasi: buat pattern untuk format lengkap yang diharapkan dan periksa dengan wholeMatch, yang mengembalikan nil jika tidak cocok.

func isZip(_ s: String) -> Bool {
    s.wholeMatch(of: /\d{5}/) != nil
}
print(isZip("90210"))
print(isZip("ABCDE"))

Pemeriksaan Cepat

Metode mana yang hanya berhasil ketika seluruh teks cocok?

Ringkasan

Anda telah mempelajari cara menulis literal ekspresi reguler dengan garis miring dan melakukan pencocokan menggunakan wholeMatch(of:), firstMatch(of:), dan matches(of:). Anda juga telah melihat kelas karakter, pengulang, jangkar, dan pencocokan tanpa membedakan huruf besar-kecil. Berikutnya, Anda akan mengambil data dari kecocokan menggunakan grup penangkap.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Literal Regex dan Pencocokan” gratis?

Ya — teks lengkap “Literal Regex dan Pencocokan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Literal Regex dan Pencocokan”?

Cocokkan pola dengan tipe Regex. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Literal Regex dan Pencocokan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Literal Regex dan Pencocokan
  2. Grup Penangkapan
  3. DSL RegexBuilder
  4. Mengganti dan Membagi Teks
← Kembali ke Swift Academy