Konu: $Regex
Tekil Mesaj gösterimi
Alt 29 Ekim 2009, 12:14   #1
Çevrimdışı
sensiz-seven
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
$Regex




; Regex Nedir?
Regex yazıda harf, kelime veya cümle karşılaştırma ve arama işlemlerini yapmamızı gerçekleştiren komuttur.
mIRC'te aynı işin yapan başka komutlar da mevcuttur ancak regex hem daha hızlıdır hem de arama yelpazesi
çok geniş olduğundan büyük kolaylıklar sağlar. Örnek vermek gerekirse;
if (*deneme* iswm $1-) veya if (deneme isin $1-) komutları ile,
if ($regex($1-,deneme)) veya if ($regex($1-,deneme) == 1) komutları aynıdır.
; Regex Kullanımı
Regex, en basitinden $regex(Satır,Aranacak Kelime) şeklinde kullanılır. Daha görsel bir örnek vermek gerekirse;
//echo -a * $regex(Bu bir deneme yazısıdır,deneme) yazdığınızda satır içinde aradığımız kelime (deneme) geçtiğinden
size 1 değeri olarak geri döner. Eğer $regex(Bu bir deneme yazısıdır,merhaba) olsaydı bu 0 değeri olarak geri dönecekti.
; Regex Operatörleri
1) "." (Herhangi bir karakter operatörü)
Tanımdan da anlaşılacağı gibi herhangi bir karakter demektir. Örnek olarak: //echo -a * $regex(Bu bir deneme yazısıdır,b.r)
yazdığımızda değer 1 olarak dönecektir. Burada b ile r harfi arasında ne olacağı önemli değildir, herhangi bir karakter olması
yeterlidir.
2) "+" (Bir tane veya birden çok olabilir operatörü)
//echo -a * $regex(Bu bir deneme yazısıdır,bi+r) yazdığımızda değer 1 olarak döner. Çünkü bir tane i satırımızda mevcut. Eğer
//echo -a *$regex(Bu biiiiir deneme yazısıdır,bi+r) olursa değer gene 1 olur. Çünkü "+" operatöründe birden fazla olması değeri de
1 dir.
3) "?" (Hiç olmayabilir veya bir tane olabilir operatörü)
"." operatöründen tek farkı herhangi bir karakter gelme zorunluluğun olmaması. Örnek: //echo -a * $regex(Bu bir deneme yazısıdır,b?r)
1 değeri olarak döneceği gibi //echo -a * $regex(Bu br deneme yazısıdır,b?r) de 1 olarak geri döner.
4) "|" (Veya Operatörü)
if (a == b) || (c == d) komutunda nasıl -a b ye eşit veya c d ye eşit ise komut uygula- mantığı varsa onun aynısını kullanabiliyoruz. Örnek olarak
//echo -a * $regex(Bu bir deneme yazısıdır,merhaba|deneme) yazdığımızda merhaba yazısı satırımızda geçmemesine rağmen deneme kelimesi
olduğu için 1 değeri olarak geri dönecektir.
5) "^" (Başlama operatörü)
Eğer aranan kelimenin önüne ^ konulursa, aranan kelime cümlenin ilk kelimesi olmalı ki değer 1 olarak dönsün. Örnek olarak
//echo -a * $regex(Bu bir deneme yazısıdır,^bir) yazarsak değer 0 olur. //echo -a * $regex(Bu bir deneme yazısıdır,^bu bir) yazdığımızda ise
değer 1 olacaktır. Kısacası (bu* iswm bu bir deneme yazısıdır) ile aynı işlevi görmektedir.
6) "$" (Bitirme operatörü)
Kullanım mantığı ^ ile tamamen aynıdır. Şöyle ki; //echo -a * $regex(Bu bir deneme yazısıdır,$yazısıdır) yazdığımızda 1 olarak geri dönecektir.
Veya //echo -a * $regex(Bu bir deneme yazısıdır,$dır) yine 1 olarak döner.
7) "-" (Aralık operatörü)
Belirli aralıkları karşılaştırmamızı sağlar. Örneğin [1-9] birden dokuza kadar, [a-z] a dan z ye kadar küçük harfler [a-c] a dan c ye kadar küçük
harfleri aratmamıza olarak sağlar. //echo -a * $regex(3,[1-5]) değeri 1 olarak döner. //echo -a * $regex(5,[1-5]) 1 olarak döner. //echo -a * $regex(8,[1-5])
0 olarak döner.
8) Kelime Operatörleri
8.1) "\bKELİME\b" Operatörü
Eğer kelime tam anlamıyla eşitse 1 olarak geri döner: //echo -a * $regex(DeNeMe,\bDeNeMe\b)
//echo -a * $regex(Bu bir deneme yazısıdır,\bBu\b) gibi...
8.2) "\s" Operatörü
Herhangi bir boşluk varsa 1 olarak geri döner: //echo -a * $regex(Bu bir deneme yazısıdır,\s)
8.3) "\d" Operatörü
Satırın içinde herhangi bir sayı varsa 1 olarak döner: //echo -a * $regex(Bu b1r deneme yazısıdır,\d)

Umarım işinize yarar arkadaşlar ..

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet