Merhaba, Notepad++ uygulamasında normal aramalar yapılabildiği gibi, Regular Expression ile de arama yapılabilir.
Nerede ihtiyacımız olabilir böyle bir aramaya?
Misal CANIAS’ta bir TRACE dosyası elde ettik.
Boyutu çok büyük.
Uzun süren sorgular olduğunu düşünüyoruz bu dosyanın içerisinde.
Ancak bunu nasıl aratıp tek seferde görüntüleyebiliriz?
\[[1-9]{3}\sms\]
şeklinde bir arama ile yüzlerce milisaniye süren sorguları direkt filtreleyebiliriz.
->DB \[SELECT.*WHERE [^1]+
şeklinde bir arama ile de veritabanı sorgularını listeleyebiliriz. Hem de WHERE 1 = 2 şeklinde olanları filtreleyerek.
Gene bir CANIAS Trace dosyasında uzun süren bir veritabanı sorgusu aramak için şöyle bir script kullanılabilir:
->DB \[SELECT((?!WHERE 1 = 2)(?!ms\]).)*\[[1-9]{2}\sms\]
En az iki rakamdan oluşan bir sürede sonuç dönen sorguları bulur. WHERE 1 = 2 olanları da es geçiyorum.
Buna benzer bir çok filtrelemeyi yapmak mümkün.
Yazdığını regex ifadesinin test etmek için de online siteler mevcut.
Ben http://regexstorm.net/tester adresini kullanıyorum. Başka alternatifler de var.
Selamlar.