* Azer Koculu [2008-11-08 21:18:18+0200]
> Cok tesekkurler, non-greedy isareti Javascript'te de soru isaretiymis.

Doğru, söz konusu dil JavaScript ise "non-greedy" desteği mevcut.  Fakat
şimdi baktım JavaScript (ECMAScript sürüm 3 olarak) tam PCRE uyumlu değil,
mesela 's' ve 'x' bayraklarını desteklemiyor.

> Bu durumda desenin soundaki parantez, fonksiyona verilen string'teki
> parantezle eslesmez mi?

Aşağıdaki düzenli ifade sanıyorum işinizi görecektir:

        console[.]log\s*[(]\s*(['"]?)[^'"]*?\1\s*[)][;]*

Yorumlamanız için küçük bir bilgi: burada \1 geri başvuru yapıyor, yani
console.log işlev argümanı bir dizgiyse ve ['"] karakterlerinden hangisiyle
başlıyorsa onunla bitmeli.  Fazla sınamadım ama düzenli ifade bu haliyle
dizgi tipinde olmayan argümanları da (console.log(123) gibi) yönetebiliyor
(eğer böyle bir durum yoksa (['"]?) kısmındaki '?'ni kaldırabilirsiniz).
Ayrıntılı bir sınama için bazı görselleştirme araçları[1] var onlardan
yararlanabilirsiniz.

[1] http://regex.powertoy.org/

-- 
roktas
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap