Kod: Kodu kopyalamak için üzerine çift tıklayın!
S.e.L.a.m
Şeklinde bir kelime/cümle için alias kullanmana gerek yok. Yani içinde
meta karakterler bulunan bir
metni/cümleyi/kelimeyi yasaklamak istiyorsan ve spamfilter da regex kullanacaksan bunu, regex'in meta karakterleri düz metin gibi algılamasını sağlayan operatörü ile yapabilirsin.
Meta Karakter Nedir ?
Meta-karakter, bir program için özel anlamı olan karakterlere verilen isimdir.
Nokta karakteri
regexp içinde özel anlamı olan bir karakterdir. Tüm karakterleri temsil eder. (S.e.L.a.m gibi bir regex filtrelemesi kullandığında, noktaların yerine herhangi bir karakter gelebilir anlamını da taşır.)
Üstte bahsettiğimiz gibi böyle bir engelleme için
alias kullanımı yerine
\Q \E operatörlerini kullanabilirsin. Bu operatörler sayesinde
meta karakterleri \. nokta ya dönüştürmene gerek kalmayacak ve direk nokta karakteri olarak algılanacaktır.
Örnek: Eklediğim spamfilter; Kod: Kodu kopyalamak için üzerine çift tıklayın!
/spamfilter add c block +0 Yasak \QS.e.L.a.m\E
Sonuç; Kod: Kodu kopyalamak için üzerine çift tıklayın!
[01:02] <deneme1> selam
[01:02] <deneme1> s.e.l.a.m
#deney Message blocked: Yasak
[01:02] <deneme1> S.e.l.a.m
#deney Message blocked: Yasak
[01:02] <deneme1> S.e.L.a.m
#deney Message blocked: Yasak
[01:09] <deneme1> S-e.L.a.m
Gördüğün gibi sadece s.e.l.a.m kalıbında engelledi.
İyi forumlar.