Ders 10.1: Düzenli ifadeler: karakterler, sınıflar ve çapalar
Düzenli ifadenin ne olduğu ve kabuk joker karakterlerinden farkı, düz karakterler ve özel karakterler (metakarakter), nokta, aralık ve olumsuzlama içeren köşeli parantez ifadeleri, POSIX karakter sınıfları, ^ ve $ çapaları ve özel bir karakteri ters eğik çizgiyle kaçışlamak. Her örnek grep ile çalışır.
18 dk
Bu derste öğreneceklerin
- Düzenli ifadenin neyi tarif ettiğini açıklamak
- Düzenli ifade özel karakterlerini kabuk joker karakterlerinden ayırmak
- [...] ile bir kümeden tek karakter eşleştirmek, [^...] ile dışlamak
- [[:digit:]] ve [[:upper:]] gibi POSIX sınıflarını kullanmak
- Bir kalıbı satırın başına ya da sonuna çapalamak
- . ve diğer özel karakterleri kaçışlamak
Temel terimler
- Düzenli ifade (regex)
- Bir dizgi kümesini tarif eden kalıp. Program her satırı (ya da dizgiyi) onunla karşılaştırır.
- Düz karakter ve özel karakter (metakarakter)
- Karakterlerin çoğu kendisiyle eşleşir. Özel karakterlerin özel bir anlamı vardır: . [ ] ^ $ * \ (genişletilmiş düzenli ifadede ayrıca + ? { } ( ) |).
- . (nokta)
- Herhangi tek bir karakterle eşleşir.
- [...] köşeli parantez ifadesi
- Listedeki tek bir karakterle eşleşir. a-z ve 0-9 gibi aralıklar kullanılabilir; [^...] listede OLMAYAN tek bir karakterle eşleşir.
- POSIX sınıfları
- Köşeli parantez içinde kullanılan adlandırılmış kümeler: [:digit:] [:alpha:] [:alnum:] [:upper:] [:lower:] [:space:] [:punct:]. Çift parantezle yazılır: [[:digit:]].
- Çapalar ^ ve $
- ^ satır başıyla, $ satır sonuyla eşleşir. Bir karakterle değil bir konumla eşleşirler.
- Kaçışlamak (escaping)
- Bir özel karakterin önüne konan ters eğik çizgi onu düz karakter yapar: \. \* \[ \$.
← cron ile görev zamanlamak · Tüm dersler · Tekrarlar, gruplar ve seçenekler →