Regex Sabitleri ve Eşleştirme
Regex türüyle desenleri eşleştirin.
Regex Sabitleri ve Eşleştirme, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.
Swift'te Düzenli İfadeler
Swift 5.7+; standart kitaplıkta ve Foundation'da yerel düzenli ifadeler sunar. Bir düzenli ifadeyi eğik çizgiler arasında sabit olarak, örneğin /\d+/ biçiminde yazabilirsiniz; derleyici bunu derleme zamanında denetler.
Bir Düzenli İfade Sabiti
Bir düzenli ifade sabiti bir Regex değeri üretir. Türü, eşleşmenin ne ürettiğini belirtir. En basit örüntü, sabit bir karakter dizisini eşleştirir.
let pattern = /hello/
if "hello world".contains(pattern) {
print("Found hello")
}wholeMatch(of:)
wholeMatch(of:) yalnızca tüm dize örüntüyle eşleştiğinde başarılı olur. İsteğe bağlı bir eşleşme döndürür; dize bütünüyle eşleşmezse nil döner.
let digits = /\d+/
if let m = "12345".wholeMatch(of: digits) {
print("Whole match: \(m.output)")
} else {
print("No whole match")
}firstMatch(of:)
firstMatch(of:) dizeyi tarar ve örüntünün dize içinde herhangi bir yerde eşleştiği ilk konumu döndürür.
let word = /\w+/
if let m = " swift rocks".firstMatch(of: word) {
print("First word: \(m.output)")
}Eşleşme Aralığına Erişme
Bir eşleşme, özgün dizedeki bir range değerini dışa açar; böylece eşleşmenin tam olarak nerede gerçekleştiğini bilirsiniz.
let text = "abc123def"
if let m = text.firstMatch(of: /\d+/) {
print("Matched: \(m.output)")
print("At: \(text[m.range])")
}Karakter Sınıfları
Bir örüntünün içinde \d bir rakamı, \w bir sözcük karakterini, \s ise boşluk karakterini eşleştirir. Köşeli ayraçlar, [aeiou] gibi özel bir küme tanımlar.
let vowel = /[aeiou]/
if let m = "sky".firstMatch(of: vowel) {
print("Vowel: \(m.output)")
} else {
print("No vowels found")
}Niceleyiciler
Niceleyiciler yinelemeyi denetler: * sıfır veya daha fazlasını, + bir veya daha fazlasını, ? isteğe bağlı olanı, {n,m} ise sınırlı bir sayıyı belirtir.
let phone = /\d{3}-\d{4}/
print("555-1234".wholeMatch(of: phone) != nil)
print("12-34".wholeMatch(of: phone) != nil)Bağlayıcılar
Bir satırın başlangıcına bağlamak için ^, sonuna bağlamak için $ kullanın. Bağlayıcılar karakter tüketmez; bir konumu doğrular.
let startsWithCap = /^[A-Z]\w*/
if let m = "Swift".firstMatch(of: startsWithCap) {
print("Matched: \(m.output)")
}Büyük Küçük Harfe Duyarsız Eşleştirme
Bir düzenli ifade değerinin sonuna .ignoresCase() ekleyerek büyük küçük harf ayrımını göz ardı edebilirsiniz. Bu, girdideki harf kullanımı öngörülemediğinde yararlıdır.
let pattern = /swift/.ignoresCase()
print("I love SWIFT".contains(pattern))matches(of:) ile Eşleştirme
matches(of:), dizedeki çakışmayan tüm eşleşmelerden oluşan bir koleksiyon döndürür; böylece hepsi üzerinde yineleme yapabilirsiniz.
let nums = "a1 b22 c333"
for m in nums.matches(of: /\d+/) {
print(m.output)
}Girdiyi Doğrulama
Yaygın bir kullanım doğrulamadır: beklenen biçimin tamamı için bir örüntü oluşturun ve uyuşmazlıkta nil döndüren wholeMatch ile denetleyin.
func isZip(_ s: String) -> Bool {
s.wholeMatch(of: /\d{5}/) != nil
}
print(isZip("90210"))
print(isZip("ABCDE"))Hızlı Kontrol
Yalnızca dize bütünüyle eşleştiğinde başarılı olan yöntem hangisidir?
Özet
Eğik çizgilerle düzenli ifade sabitleri yazmayı ve wholeMatch(of:), firstMatch(of:) ile matches(of:) kullanarak eşleştirme yapmayı öğrendiniz. Ayrıca karakter sınıflarını, niceleyicileri, bağlayıcıları ve büyük küçük harfe duyarsız eşleştirmeyi gördünüz. Sırada, yakalama gruplarıyla eşleşmelerden veri çıkaracaksınız.
Sıkça Sorulan Sorular
“Regex Sabitleri ve Eşleştirme” dersi ücretsiz mi?
Evet — “Regex Sabitleri ve Eşleştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.
“Regex Sabitleri ve Eşleştirme” dersinde ne öğreneceğim?
Regex türüyle desenleri eşleştirin. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Regex Sabitleri ve Eşleştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Regex Sabitleri ve Eşleştirme
- Yakalama Grupları
- RegexBuilder DSL
- Metni Değiştirme ve Bölme