PDA

Tam Sürümünü Görmek İçin : REGEX yardım


laucian
07/01/2005, 08:54
slmlar;

Pythonda düzenli ifadeleri(RE) kullanarak bir string okuyup içinde bi takım değişiklikler yapmam gerekiyor..şöyleki ;

a e ı u seslerinden sonra gelen ünsüz harfleri, yazdığım bir class içindeki bi fonksionla değiştirmem gerekiyor..class ve fonksion işin konu dışında kalan kısmı olduğu için buraya yazmıorum..benim sorum şu; bir string içinde yukarda verdiğim elemanlardan sonra gelen bütün harfleri RE kullanarak nasıl belirlerim (veya bir listeye yazdırrım vs.vs..) yani
"bu örnek olsun diye yazılmış bir cümledir" de [a,e] elemanlarından sonra gelen harfleri [k,z ..] gibi bi listeye almak istiorum..

şimdiden teşekkürler

NOT:REGEX hakkında bildiğiniz iyi bi tutorial varsa oda çok makbule geçer..


anov
07/01/2005, 09:30
/(?=[a|e|ı|u])[bcçdfgğhjklmnprsştvyz]/gi

bu desen dediğin harfleri yakalar.
regex diller arası değişmeyen bir standart , "perlretut" a şöyle bir baktım da
sanırım işini görür.

not : iki / işareti arasında kalan kısımlar regex literal dir. sağdaki / işaretinin yanında bayraklar bulunur: g : global , i : ignorecase , m : multiline
örn :
"merhaba" -> String literal
/merhaba/ -> regex literal dir.

not.not : python da henüz regex ile alakalı bir şey yazamadım. bunlar js den gelme bilgilerdir.(bayraklar js de geçerlidir, fakat desenlerde bir değişiklik olacağını zannetmiyorum. standarttır çünkü.)

not.not.not : http://sozluk.sourtime.org/show.asp?t=regular+expressions

laucian
07/01/2005, 10:48
@anov, teşekkürler verdiğin cevap için..
ama bu sorular burada bitmez, buda ikinci bi soru.. :)


>>> mat = re.search(r'(\w+)\s*->\s*"([^"]*)"',
... ' bla-> "gaga"')
>>> mat.start(1), mat.end(1)
(1, 4)
>>> mat.group(1), mat.group(2)
('bla', 'gaga')
>>> mat.group(0)
'bla-> "gaga"'
>>> mat.group(1,2)
('bla', 'gaga')

ilk satırda search'ten sonra gelen r ne işe yarıo ?
veya [^"] neyin nesidir?

anov
07/01/2005, 10:54
sanırım regex literal olduğunu belirtmek içindir.
işyerindeki makinadan python u kaldırdım , sitesine gitmeye de üşeniyorum :)

anov
07/01/2005, 11:00
ceviz de çok güzel bir makale olacaktı sanırım javascript bölümünde
bir bakayım
http://www.ceviz.net/index.php?case=article&id=246&catid=50
evet fixman yazmış eline sağlık, bu işine yarar diye tahmin ediyorum.

laucian
07/01/2005, 15:17
işyerindeki makinadan python u kaldırdım , sitesine gitmeye de üşeniyorum http://www.python.org/download/ :kuuul: önce derin bi nefes al adamım.cool ol..sonra tıkla..sadece tıkla..

makale için ayrıca teşekkür..