

Dizelerdeki Desenleri Belirtmek için Maskeler Kullanma › Örnek Maske
Örnek Maske
Aşağıdaki desen, Windows komut kabuğunda DIR komutunun çıktısının tam olarak filtrelenmesini sağlar:
([0-9]{2}/){2}[0-9]{2} *[0-9]{2}:[0-9]{2}(a|p) *[0-9,]+ [_~0-9a-zA-Z ]*(\.[_0-9a-zA-Z ]*)?
Aşağıdaki satırlar bu desen ile eşleşir:
10/26/05 07:03p 134,217,723 pagefile.sys
10/26/05 07:03p 1,024 testfile
Önceki satırlar aşağıdaki öğelerden oluşur:
- ([0-9]{2}/), iki basamaktan ve bir eğik çizgiden (/) oluşan karakter dizelerini gösterir, örneğin “10/”.
- ([0-9]{2}/){2}[0-9]{2}, önceki öğe üzerinde oluşur ve iki basamaklı sıranın 3 defa, her defada bir sonrakinden eğik çizgi ile ayrılacak şekilde yinelenebileceğini belirtir, örneğin “10/26/05”.
- *[0-9]{2}:[0-9]{2}(a|p), hh:mm biçiminde saat ve AM (öğleden önce) için “a” ya da PM (öğleden sonra) için “p” ile devam eden herhangi bir sayıda boşlukla eşleşir.
- *[0-9,]+, dosya boyutu için her basamak ve virgül sayısıyla devam eden herhangi bir sayıda boşlukla eşleşir.
- [_~0-9a-zA-Z]*(\.[_~0-9a-zA-Z]*)? alfasayısal karakterler, altçizgiler (_) ve tildeler (~) ile isteğe bağlı olarak nokta ve başka bir sıra ile devam eden bir sırayı gösterir. Nokta (.), nokta işleci olduğundan, noktayı bir karakter olarak eşleştirmek istediğimizde çıkış karakteri (\) kullanılarak noktanın çıkışının yapılması gerekir.
Maskedeki desen, eşleştirilecek kesin karakterlere göre değişiklik gösterebilir. Örneğin, [_~0-9a-zA-Z]*(\.[_~0-9a-zA-Z]*)? yerine [\._~0-9a-zA-Z ]* örnek çıktılarımızdaki dosya adlarıyla eşleşebilirdi, ancak dosya adındaki nokta sayısında (.) hiçbir kısıtlama uygulanmaz.
Telif Hakkı © 2013 CA.
Tüm hakları saklıdır.
 
|
|