* 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