Ders 10.2: Tekrarlar, gruplar ve seçenekler
* + ? ve {n,m} niceleyicileri, temel ve genişletilmiş düzenli ifadeler (grep ve grep -E), parantezle gruplamak, | ile seçenekler, kelime sınırları ve grep -o ile metinden eşleşenleri çıkarmak: tarihler, e-posta adresleri ve IP adresleri.
19 dk
Bu derste öğreneceklerin
- Bir karakteri ya da grubu * + ? {n} {n,m} ile tekrarlamak
- BRE ile ERE arasındaki farkı açıklamak
- ( ) ile gruplamak ve | ile seçmek
- \< \> ya da \b ile tam kelime eşleştirmek
- grep -oE ile tarih, e-posta ve IP adresi çıkarmak
Temel terimler
- Niceleyici (quantifier)
- Önündeki öğenin kaç kez tekrarlanabileceğini söyler: * sıfır ya da daha fazla, + bir ya da daha fazla, ? sıfır ya da bir, {n} tam n, {n,} n ya da daha fazla, {n,m} n ile m arası.
- BRE ve ERE
- Temel (grep, sed) ve Genişletilmiş (grep -E, sed -E, awk) düzenli ifadeler. Fikirler aynı; BRE'de + ? { } ( ) | işleç olmak için ters eğik çizgi ister.
- Grup ( )
- Birden çok öğeyi tek öğe gibi ele alır; böylece niceleyici ya da | hepsine uygulanır. Gruplar geri başvurular için de hatırlanır (10.3 dersi).
- Seçenek |
- Ya soldaki ya da sağdaki kısım.
- Açgözlü eşleşme (greedy)
- Niceleyici alabildiği kadar çok alır: 'a,b,c' içinde ',.*,' yalnızca sonra başka virgül olmadığı için ',b,' ile eşleşir; .* sonuncuya kadar gider.
- Kelime sınırı
- \< ve \> (GNU) ya da \b bir kelimenin başladığı ya da bittiği yeri işaretler; kelime harf, rakam ve _'dir.
- grep -o
- Satırın tamamı yerine her eşleşmeyi ayrı bir satıra yazar. sort | uniq -c ile birlikte bir günlüğü istatistiğe dönüştürür.
← Düzenli ifadeler: karakterler, sınıflar ve çapalar · Tüm dersler · sed ve awk'ta düzenli ifadelerle veri temizlemek →