2008-09-02 10 views
4

Burada, hatırlamayı başaramadığım basit bir regex tekniği var. Diyelim ki, genel olarak normal bir regex uygulaması kullanıyorum (ör. Grep veya grep -E). Dosyaların bir listesini yapmak ve .sty ya da .cls içinde bu son ile eşleşecek olsaydım, bunu nasıl yapardım?Regex benzersiz alt dizelerle eşleşecek

cevap

4
ls | grep -E "\.(sty|cls)$" 
  • \. maçlar tam anlamıyla bir "." - maç "sty" veya "cls" - - Çıkışsız . herhangi karaktere
  • (sty|cls) maçları | bir or ve parantez ifadeyi sınırlandırır.
  • $
  • o desenlerin listeleri için farklı bir seçenek olarak, sen grep -E veya egrep değil grep -e istediğiniz hattı

Not sonunda olmak maçını zorlar.

2
egrep "\.sty$|\.cls$" 
2

Bu regex:.
\ (arpacık | cls)
herhangi bir dize maç olacak \ z .sty veya .cls
ile biter DÜZENLEME: grep \ z için
ile değiştirilmesi gerekir $ \. (sty | cls) jelovirt önerilmektedir.