IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Regex çözüm.. (https://www.ircforumlari.net/mirc-scripting-sorunlari/54809-regex-cozum.html)

KoRay 20 Nisan 2008 22:52

Regex çözüm..
 
Merhabalar..


İLk önce yapmak istediğimi anlatayım..

Yazımız: selam
Ben bunu wildcard da *s*l*m* yaptığım zaman sadece s görse bile yapıyor benim istediğim regex olarak istiyorum bunu.. *s*l*m* bunun hepsini arama kipinde olacak fakat regex çözümlü..

ben böyle bir şey denedim fakat gene işe yaramadı..

$regex(selam,/(.?s.?l.?m.?)/g) yani selam örnek olarak veriyorum selam = aselam da olabilir değişken olarak /(.?s.?l.?m.?)/g vermemin sebebi bu..


Bu konu hakkında yardımcı olarak arkadaş varmı..

Dependent 20 Nisan 2008 23:26

Cevap: Regex çözüm..
 
normal selam yazarsan aselam vs hepsini tanır.
fakat sellam, seeeelam gibi yazılar için 2 yöntem mevcut:

1. tekrar eden yazıları silersin:
var %normlized = $regsubex(gelen String örn: $1-,/(.)\1+/g,\1)
;sonrasında
if $regex(%normalized,selam) { buraya komutların gelecek }

2. yöntem tekrar edebilecek kelimeleri senin belirlemen
if $regex(gelen String örn: $1-,(se{1,}l{1,}am)) { buraya komutun gelecek }

kolay gelsin ;oki

KoRay 21 Nisan 2008 11:33

Cevap: Regex çözüm..
 
Istediğim tam olarak bu değildi.

S l m harfleri mutlak olması lazım bu şekilde sadece s veya l veya m olanı goruyor eğer görürse veriyor.. ben eğer s l m stringin içinde varsa 1 değerini verecek ??

Dependent 21 Nisan 2008 11:49

Cevap: Regex çözüm..
 
regex te * 0 veya daha fazla karşılaştırmasını eklersek
$regex(gelen String örn: $1-,(s*l*m))
selam ı görür fakat se lam gibi yazılan boşluklu yazılarıda göz ardı eder.

onun yerine boşlukları göz ardı etmesin s + l + m içeren kelimelere baksın istiyorsak
$regex(gelen String örn: $1-,(s\w*l\w*m)) kullanmalıyız
bu durumda slm, selim selllamm da dahil hepsini görür.

KoRay 21 Nisan 2008 12:23

Cevap: Regex çözüm..
 
Alıntı:

Dependent Nickli Üyeden Alıntı (Mesaj 379691)
regex te * 0 veya daha fazla karşılaştırmasını eklersek
$regex(gelen String örn: $1-,(s*l*m))
selam ı görür fakat se lam gibi yazılan boşluklu yazılarıda göz ardı eder.

onun yerine boşlukları göz ardı etmesin s + l + m içeren kelimelere baksın istiyorsak
$regex(gelen String örn: $1-,(s\w*l\w*m)) kullanmalıyız
bu durumda slm, selim selllamm da dahil hepsini görür.


olmuyor :S

nedeni s , l , m mutlak olması gerekıyor.. misal senin verdiklerinde l olduğu zaman veya s olduğu zaman bile 1 değerini veriyor..

Dependent 21 Nisan 2008 14:03

Cevap: Regex çözüm..
 
$regex(merhaba seam,(s\w*l\w*m)) = 0
$regex(merhaba sleam,(s\w*l\w*m)) = 1
$regex(merhaba elam,(s\w*l\w*m)) = 0
$regex(merhaba sela,(s\w*l\w*m)) = 0
$regex(merhaba aselamlar,(s\w*l\w*m)) = 1
yani slm harflerinin aynı kelimede olması gerekiyor, dediin gibi mutlak!

KoRay 21 Nisan 2008 20:07

Cevap: Regex çözüm..
 
denedim olmuyo :S sebebi
s veya l olduğu zaman görüyor ama ben kelimede s l m olmasını ıstıyordum wildcard da olmuyo :S

XcLusive 21 Nisan 2008 20:19

Cevap: Regex çözüm..
 
Kod:

$regex(kelime,(s\w*l\w*m))
Aliance saten kodu vermiş
dediğini bu kod çözümlüyor deneyebilirsin..


Kod:

alias regextest return $regex($1-,(s\w*l\w*m))
 
//echo -a $regextest(selam)
//echo -a $regextest(slm)
//echo -a $regextest(a.selam)
//echo -a $regextest(selamun hello)
//echo -a $regextest(selamun aleyküm)

yukarıdaki denemelerin sunucu = 1
yani algılama tamam..

Dependent 21 Nisan 2008 22:45

Cevap: Regex çözüm..
 
Neyi denediğini ve bu denediğinden ne beklediğini buraya yazabilirmisin?


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 08:57.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk