11 Eylül 2012 Salı

Düzenli İfadeler-3

+(Artı)

Bu karakterimiz * karakteriyle benzerdir.Fakat * karakteriyle kendisinden önceki 0 veya daha fazla
sayıda tekrar eden karakterleri buluyor.+ işareti ise kendisinden önce 1 veya daha fazla olan
karakterleri bulamamızı sağlıyor.

Örnek:

>>> liste=["batman", "catwoman", "zorman", "man"]

>>> for i in liste:
if re.match(".+man",i):
print i

batman
catwoman
zorman

Görüğümüz gibi burada "man" kelimesinin çıktısını vermedi.Bunun neden ".+man" yazmış olmamızdır.
Ama * karakteriyle kullanılan sonuçta ise;

>>> for i in liste:
if re.match(".*man",i):
print i


batman
catwoman
zorman
man

"man" kelimesini ekrana verdi.


Şimdi bu +(Artı) karakterimizle ilgili biraz örnekler verelim:


*(Yıldız) Karakteriyle
>>> liste=["dv","dev","deev","deeeev","deveeeee"]
>>> for i in liste:
if re.match("de*v",i):
print i


dv
dev
deev
deeeev
deveeeee


+(Artı) Karakteriyle
>>> for i in liste:
if re.match("de+v",i):
print i


dev
deev
deeeev
deveeeee


?(Soru İşareti) 

Bu karakterimiz *(Yıldız) ve +(Artı) işaretinin birleşimi şeklinde belirtebiliriz.
Hemen örnekleyelim:

*(Yıldız) Karakteriyle
>>> liste=["dv","dev","deev","deeeev","deveeeee"]
>>> for i in liste:
if re.match("de*v",i):
print i


dv
dev
deev
deeeev
deveeeee


+(Artı) Karakteriyle
>>> for i in liste:
if re.match("de+v",i):
print i


dev
deev
deeeev
deveeeee

?(Soru İşareti) Karakteriyle
>>> for i in liste:
if re.match("de?v",i):
print i


dv
dev
deveeeee

Gördüğümüz gibi ?(Soru İşareti) Karakteri d ile v arasındaki e karakterinden hiç geçmeyen kelimeleri ve 1 defa geçen kelimeleri buldu.

Hiç yorum yok:

Yorum Gönder