Sunucumuz üzerinden cevap verdim ama, konu altına da fikrimi belirteyim.
Kullandığın kodu hatırlıyorum regex filtresini
Difuzyon yapmıştı.
Difuzyon'un söylediği seçenek dışında kısmen çalışabilecek şöyle bir seçenekte olabilir;
- \S yani [^[:space:]] Non-Space operatörüne biraz özellik ekleyebiliriz.
Örnek: Kod:
on *:input:*:{
if !$istok(/ ! .,$left($1,1),32) {
if $window($active).type == channel { msg $active $regsubex($1-,/([^[:space:]\*\?\,\.\:\51\50\{\}\^\\\%\<\>\/\=\@\;\&\!\"\#\'\]\[]+)/gi,$iif(\1 ison #,\1,\1)) }
elseif $window($active).type == query { msg $active $regsubex($1-,/([^[:space:]\*\?\,\.\:\51\50\{\}\^\\\%\<\>\/\=\@\;\&\!\"\#\'\]\[]+)/gi,$iif(\1 == $active,\1,\1)) }
halt
}
} Notlar:
Nick içerisinde izin verilen karakterler bellidir.
{ } _-`| gibi (ve rakamlar.) Nick içinde eğer bu karakterlerden birisi geçiyorsa, sonradan nickin başına veya sonuna bunları koyduğunda kod istediğin şekilde
çalışmaz..
Örnek veriyorum kullanıcının nicki
D{aR}k ise ve sen nickin sonuna veya başına
D{aR}k} (Bracket) ilave edip yazarsan istediğin sonucu vermez. Nickin içinde olmasını istediğin karakterleri Non-Space ve diğer eşleşmeyenlerin filtre edildiği bölümden(([^[:space:]\*\?\,\.\:\51\50\{\}\^\\\%\<\>\/\=\@\;\&\!\"\#\'\]\[]+) yani burdan) çıkarmalısın. Eğer nickin içinde
{ } bunlar olduğunda da kod işlem yapsın istiyorsan; regexin içinden
\{\} bu şekilde silmelisin, punct karakter çakışmasını engelleyip kodu çalıştırabilmek adına. .
-- Biraz uzun bir yol oldu farklındayım ve kısmi bir yol
İyi forumlar.