" wildcard'slar "
Eğitimin iceriğine geçmeden önce User Mask nedir bunun tanımını yapmakta fayda var.
User Mask ifadesinin Türkçe karşılığı "Kullanıcı Maskesi" dir. Bir kullanıcının Nick, Ident ve Host
bilgilerinin tümünü kapsar. Bu bilgiler " [email protected] " sıralamasındadır.
*!*@* = 1. ( * ): nick | - ! - bundan sonra ki yıldız identd. | [email protected] bundan sonra ki yıldız host'u temsil ediyor.
Her daim;
" ! " karakterine kadar olan kısım nick bilgisini, " ! " ve " @ " karakterleri arasında kalan kısım
ident bilgisini ve " @ " karakterinden sonra gelen kısım ise host bilgisini belirtmektedir.
Aslında biz bunlara genel olarak ( karakterler ) diyoruz.
Fakat wildcardlar, karakterlere oranla serviceslerde veya IRCd'de daha çok anlam ifade veya işlev görüyor.
İlk önce size standart bir IRCd'de kullanabileceğiniz karakterleri göstereyim;
{
}
\
[
`
|
_
^
0
1
2
3
4
Yukarıda ki işaretlerin her biri, bir karakter değerindedir. Yani karakterler sadece harfleri kapsamaz..
Bu bilginin ardından konumuz olan joker karakterlere dönebiliriz. Zaman zaman, uygulayacağımız
bir işlem için daha geniş kapsamlı sonuçlara ihtiyaç duyabiliriz. Herhangi bir maskeyi belirtirken,
maskemizin daha kapsamlı ve daha işlevsel olabilmesi için joker karakterlerden faydalanırız.
Joker karakterler ; ' ? ' (soru isareti) ve ' * ' (yildiz) olmak uzere iki tanedir.
-
? » Sadece bir hane yerine geçen ve belirtilen hane için tüm olasılıkların yerini alan
joker karakterdir. Her ' ? ' yalnızca 1 haneyi temsil eder. Sözkonusu maskenin karakter
sayısının belli olduğu durumlarda bu joker karakterimize başvururuz.
Ön bilgi:
1 karakter = ?
4 karakter = ????
Yani;
1 karakterli nick: ( ? )
2 karakterli nick: ( ?? )
4 karakterli nick: ( ???? )
-
* » 0 ya da sonsuz haneyi kapsayan ve belirtilen hane(ler) için tüm olasılıkların yerini
alan joker karakterdir. Söz konusu maskenin karakter sayısının belli olmadığı durumlarda
bu joker karakterimize başvururuz.
Örneğin;
a*b --> 'a' ile başlayan ve 'b' ile biten maskeler. (Örneğin ; axb , axyzb, aTurkb)
x* --> 'x' ile başlayan maskeler. (Karakter sayısı hakkında bir fikrimiz yok.) (Örneğin ; xTurk , xMed)
*x --> 'x' ile biten maskeler. (Örneğin ; Medx, egitimx, Turkx)
*mirc* --> İçersinde "mirc" kelimesi geçen maskeler. (Örneğin ; x1mircy2 , MircTrSohbet , Turkmirc , mirc)
-
( ? ) bu wildcard ile, ( * ) bu wildcard birleştirilebilir mi?
Evet.
Fakat bunu istediğimiz gibi yapabilmemiz için öncelikle mantığını anlamamız lazım.
Örneğin:
Nick= TurkServ
TurkServ nick'i toplamda 8 karaktertir.
1. karakteri: ( T harfi )
2. karakteri: ( u harfi )
3. karakteri: ( r harfi )
4. karakteri: ( k harfi )
5. karakteri: ( S harfi )
6. karakteri: ( e harfi )
7. karakteri: ( r harfi )
8. karakteri: ( v harfi )
Yani bunu wildcard ile ifade edecek olursak;
TurkServ = ????????
-
Mesela, 5 karakterli nick: ?????
-
Örneğin: /cs access #kanaladı add ????? 50
Bu şekilde kullanamayız. Kullanabilseydik, 5 karaktere sahip olan nickler kayıtlı olsun, ya da olmasın kanala girdiklerinde op olurlardı.
-
Şimdi karakterlere bağlı kalarak wildcarda örnek verelim.
????!*@* = Nick'i 4 karakterli olsunda, ident'i ve hostu önemli değil. Herşey olabilir.
/who #eğitim ????!*@*
Bu komutu enterlayıp statuse bakın.
Nick'i 4 karakterli olan userleri gösterir.
Şimdi buna ilk önce ident'den sonra host'dan kısıtlama getirelim.
[email protected]* = Nick'i hem 4 karakterli olsun, hemde ident'i " helper " olsun. Hostu önemli değil.
/who #eğitim [email protected]*
Enterlayıp, statuse bakın.
Nick'i hem 4 karakterli olup hemde identleri helper olan userleri listeleyecektir.
Şimdi bir kaç örnek daha vericem fakat öncelikle ön bilgiler vermem lazım.

5 karakterli nick: ?????
En az 5 karakterli nick olmak üzere, daha fazla nickler: ?????*
En az 3 karakterli nick olmak üzere, daha fazla nickler: ???*
Bunun tersinin hiçbir anlamı yoktur.
Mesela, *? = Bir anlam ifade etmiyor. 30 karaktere kadar olan nicklerin hepsini listeler.
Şimdi biraz karakterlerle örnekleme yapalım.
/who #eğitim ?????*!*@*
5 karakter ve daha uzun karakterde ki nickleri listeler.
Yani başka bir değiyişle, 5 karakterin altında ki hiçbir nick'i listelemez.
*n = Nick uzunluğu ne kadar, kaç karakter olursa olsun son harfi " n " olan nickleri listeler.
/who #eğitim *n!*@*
Listelenen nicklere bakabilirsiniz.
Son harfi ( n ) olan bütün kullanıcıları listeler.
n* = Nick uzunluğu ne kadar, kaç karakter olursa olsun ilk harfi " n " olan userleri listeler.
Aranan şart: ilk harfi N olması gerekmektedir.
Büyük veya küçük harf farketmez.
/who #eğitim n*!*@*
Şimdi biraz daha karışık duruma getirelim.
*n* = Nick uzunluğu ne olursa olsun, içerisinde " n " harfi olan bütün kullanıcıları listeler. ( Tabi belirtilen kanal için geçerli. )
/who #eğitim *n*!*@*
Başharfi felan farketmiyor.
Yeter ki içerisinde ( n ) harfi olsun.
-
h*o = Nick karakter uzunluğu ne olursa olsun, ilk harfi " h " ve son harfi " o " olan nickleri listeler.
/who #eğitim h*o!*@*
-
l*v*a = Nick uzunluğu kaç karakter olursa olsun, ilk harfi " l " ve son harfi " a " olmalıdır. Fakat bir de içerisinde, " v " harfi bulundurmalıdır.
Yalnız burada ki içerisinde kelimesi, baş harfi veya son harfi olarak algılanmamalıdır.
Çünkü bir baş harfi ve son harfi belirtilmiş.
/who #eğitim l*v*a!*@*
-
?*_*? = İlk ve son harfi ne olursa olsun, nick uzunluğu kaç karakter olursa olsun içerisinde ( _ ) karakterini bulunduran kullanıcıları listeler.
/who #eğitim ?*_*?!*@*
-
??x?? = Toplam 5 karakterli bir nick'in 3. harfinin x olması şartı aranır. Ancak bu özelliğe sahip kişileri listeler.
/who #eğitim ??x??!*@*
-
?s?k = Toplam 4 karakterli olup, 2. harfi " s " ve 4. yani son harfi " k " olan nickleri ifade eder.
/who #eğitim ?s?k!*@*
Bunların hepsi ident içinde geçerlidir.
-
Örnek : Nick uzunluğu ne olursa olsun, 2. harfi " c " olan. 4 karakterli Ident'e sahip ve 3. harfi " x " olan. İçerisinde " Mirc " yazısı olan hostlu kullanıcıları nasıl listelerim.
İlk önce sırası ile bakalım.
Nick için istenenler:
2. harfi c olsun demiş
?c*
? 1. karakteri bu işaret ile atlayıp ikinci karaktere geliyoruz.
2. karakter yerine istenen karakteri yani " c " harfini koyuyoruz.
Nick uzunluğu kaç karakter oloursa olsun dediği içinde sonunda bir tane * ekliyoruz.
Sonuç olarak: ( ?c* ) Çıkıyor
İkinci seçenekde ise,
4 karakterli ident demiş ve 3. harfi x olsun demiş
İlk önce 4 karakterli nick yapalım.
????
Buradan 3. soru işaretine gelelim ve onu silerek x yapalım
??x?
4 karakter deyip bir sınır belirttiği için ( * ) koymuyoruz. Çünkü bir şart var.
3. seçeneğe gelelim
Hostunun içerisinde Mirc yazan demiş.
İçerisinde dediği için bir uzunluk sınırı şartı konulmamış demek oluyor.
Yani kaç karakter olursa olsun yeterki içerisinde ( Mirc ) yazsın diyor.
Bunun içinse şunu yapıyoruz.
*Mirc*
Şimdi bunları birleştirelim.
[email protected]
Nick: ?c*
Ident: ??x?
Host: *Mirc*
Sonuç olarak;
?c*[email protected]*Mirc*
Şimdide bunu komuta uygulayalım

<< /who #eğitim ?c*[email protected]*Mirc* >>


Willcards hakkında eğitim sona erdi.