Modül dersleri (1/4)
Değişmez kalıplar
Bir normal ifadede "normal" alfasayısal karakterler yalnızca kendileriyle eşleşir: write
Desen olarak ciao ve motor, içindeki ciao alt dizesini arayacaktır.
metin. Daha büyülü bir şey yok: soldan sağa tarama konum konum.
Pattern: ciao
Sample: Buongiorno, ciao mondo! Ti dico anche ciao.
^^^^ ^^^^Bir eşleşme her zaman iki önemli bilgiyi taşır:
- eşleşen metin (burada
ciao); - örnekte başladığı dizin (0 tabanlı uzaklık) (burada
12ve38).
Varsayılan olarak normal ifadeler büyük/küçük harfe duyarlıdır: ciao, Ciao ile eşleşmiyor veya
CIAO. Büyük/küçük harfe duyarsız olmak için i bayrağını ekleyin (büyük/küçük harfe duyarlı değil).
Motor nasıl çalışır?
Regex motoru metni her defasında bir karakter olarak inceler. ciao değişmez kalıbını ararken ilk olarak c harfini arar. Bir kez bulunduğunda, sonraki karakterin i, ardından a ve son olarak o olup olmadığını doğrular. Bu eşleşmelerden herhangi biri başarısız olursa, motor bir sonraki başlangıç pozisyonuna geri döner ve tekrar c aramaya başlar.
Değişmez kalıplar ve g bayrağı
g (global) bayrağı olmadan motor bulduğu ilk eşleşmede durur ve durur. ile
g devam eder ve dizenin sonuna kadar sonraki tüm eşleşmeleri toplar. Bu kursta şunları yapacağız:
neredeyse her zaman g'yi açın: metinde mevcut olan her eşleşmeyi görmek istiyoruz.
Deneyin
Örnekte "ciao" kelimesinin geçtiği her yeri (büyük/küçük harfe duyarlı) bulun. İpucu: 'g' bayrağını unutmayın.
İpucu göster
Desen kelimenin kendisidir. Büyük harfler eşleşmemelidir: i işareti yok.
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
Büyük/küçük harfleri göz ardı ederek, metinde "hata" kelimesinin geçtiği her yeri bulun.
İpucu göster
Desenle aynı kelime, ancak g'nin yanına i bayrağını (büyük/küçük harfe duyarlı) ekleyin.
3 denemeden sonra çözüm mevcut
Ek zorluk
Örnek günlük metninde `WARNING' kelimesinin tam olarak geçtiği tüm yerleri (büyük harf, büyük/küçük harfe duyarlı) tanımlayın ve toplayın.
İpucu göster
i bayrağını etkinleştirmemeye dikkat ederek doğrudan WARNING harf dizisini arayın.
3 denemeden sonra çözüm mevcut