IRCForumda.Net  

Geri git   IRCForumda.Net > mIRC Scripting ve Sohbet Programları > mIRC Scripting Dersleri

mIRC Scripting Dersleri mIRC veya IRC komutları hakkında detaylı anlatı, bilgi.

Cevapla
 
LinkBack Seçenekler Stil
Eski 05-08-2008   #1 (permalink)
Hop (%)
Sinner Kullanıcısının Avatarı
Giriş Tarihi: 30-06-2008
Mesajlar: 359
IRC Sunucu:
İtibar Gücü: 4
Rep Puanı : 30
Rep Derecesi : Sinner is on a distinguished road
Sinner  Kullanıcısına MSN yoluyla mesaj gönder
Varsayılan Regex kullanımı

Regex nedir?:
En basitinden ve anlayacağınız şekilde string karşılaştırma,string içi arama işlemini gerçekleştirmemizi sağlayan komut diyebiliriz. Mirc'de aynı işi yapan operatörler var ama regex hem daha hızlıdır hemde çok daha esnek bir yapıda olduğundan büyük kolaylık sağlar şöyleki:
if *deneme* iswm $1- veya if deneme isin $1-
ile
if $regex($1-,deneme) veya if $regex($1-,deneme) == 1aynıdır.

Regex kullanımı:
Regex'in en basit kullanımı ile mirc help te $regex([name], text, re) olarak açıklandığını biliyoruz.
burada genel operatörler'i anlatmaya çalışacağım. Yazacağım komutlar $regex(bu bir örnektir,bir) şekline olacak bunu siz aliasese veya nerede kullanmak istiyorsanız ona göre ayarlamak zorundasınız şöyleki hemen sonucu görmek isityorsanız en basit yöntem mirc de komut olarak //echo : $regex(bu bir örnektir,bir) yazıp entere basmanız eğer bir yazısı "bu bir örnektir" de varsa ki var 1 değeri döner, eğer bar $regex(bu bir örnektir,bar) yazarsak 0 değeri döner.
Operatörler:
1: Basit kullanım:
Regexin en basit kullanımı yukarıdada bahsedildiği gibi $regex(string,expression) şeklindedir string içinde expression yazılan yerdeki kelime veya cümle varsa 1 olarak döner yoksa 0 olarak döner.
2: "." Herhangi bir karakter operatörü:expression da "." herhangi bir karakter yerine geçer şöyleki:
$regex(bu bir örnektir,bir) yerine $regex(bu bir örnektir,b.r) yazarsak yine 1 değeri döner anlamıda b ile r arasına bir karakter gelecek ama ne olduğu önemli değil sadece bir karakter gelmesi yeterli.

3: Tekrar operatörleri
3.1: "*" Hiç yok yada birden çok olabilir Operatörü:
Şimdi bu başlıkta ne demeyin "*" aynı başlıktaki işi yapıyor, aranan string konulduğu yerin önündeki harfle devam ediyorsa veya devam etmiyorsa regex 1 olarak döner. kısacası i* yazdıkmı orada sadece i harfi olabilir veya tekrar eder şekilde olabilir (örn: iiiiiiiiiii gibi.) bu durumda 1 değeri döner, veya //echo : $regex(bu br örnektir,b*r) gibi arada birşey olmasa dahi 1 değeri döner. Daha iyi anlamanız için örnekler aşağıda.
Örnekler:
//echo : $regex(bu bir örnektir,bi*)
//echo : $regex(bu br örnektir,b*r)
//echo : $regex(bu br örnektir,ba*r)
//echo : $regex(bu biiiiiiiir örnektir,bi*r)
//echo : $regex(bu biiiiiiiiaaiir örnektir,bi*r)
3.2: "+" Bir tane veya birden çok olabilir operatörü:
"*" operatörünün hemen hemen aynısı ama tek farkı i+ gibi yazdıkmı en az bir i veya birden çok iiiiiiiiiiiiiii gibi devam edeni görmesi ama i harfi olmadımı * operatörü yerine 1 değilde 0 dönmesi (başlıklardan anlaşıldığı üzere * da hiç yok, + da bir veya daha fazla).
farkı ayırabileceğiniz örnekler:
//echo : $regex(bu br örnektir,ba*r)
//echo : $regex(bu br örnektir,ba+r)
//echo : $regex(bu bir örnektir,b*r)
//echo : $regex(bu bir örnektir,b+r)
3.3: "?" Hiçolmayabilir yada birtane olabilir operatörü:
"." operatöründen tek farkı yerine herhangi bir karakter gelme zorunluluğu olmaması.
Farkları anlamanız için örnekler:
$regex(bu bir örnektir,b.r)
$regex(bu bir örnektir,b?r)
$regex(bu br örnektir,b.r)
$regex(bu br örnektir,b?r)
3.4: "{..}" uzunluk operatörü:tanımlama şekilleri {uzunluk}, {min,max}, {min, }şekillerinde olabilir. Regex'te br{3} gibi belirtiğimiz zaman aranan stringin içinde brrrr gibi br den sonra en az 3 tane son yazılan karakterden olmalı ki regex 1 değeri dönsün. Kısacası + operatörünün hemen hemen aynısı ama farkı tekrar eden sayıların aramasını bizim sınırlandırabilmemiz.
//echo : $regex(bu brr örnektir,br{3})
//echo : $regex(bu brrr örnektir,br{3})
//echo : $regex(bu abrbrbr örnektir,a(br){3}) ;buda br nin grup şeklinde devam etmesi () grup operatörü ne işe yaradığı aşağıda yazıyor.

4: "|" veya Operatörü:if a == b || a == c dekindeki aynı mantık a b ye eşit olabilir veya a c ye eşit olabilir, regexte $regex(deneme bu bir örnektir,bar|bir) yazarsak "bu bir örnektir" yazısında "bar" yok ama "bir" var ve regex 1 değeri olarak döner.

5: "^" başlama Operatörü:
^ önüne konulan expression aranan stringin ilk kelimesi ise 1 değeri döner, eğer yukarıdaki örneklerdeki gibi "bir" kelimesini ararken $regex(bu bir denemedir,^bir) şeklinde yazarsak 0 değeri döner ama $regex(bu bir denemedir,^bu bir) şeklinde yazarsak 1 değeri döner, Özetle bu* iswm bu bir denemedir ile aynı işlemi yapıyor.

6: "$" bitme Operatörü:
^ operatörü ile aynı olup tek farkı aranan string'in o expression ile bitmesi gereklidir. Özetle $regex(bu bir denemedir,denemedir$) veya $regex(bu bir denemedir,dir$) yazarsak 1 değerleri döner, yani if *dir iswm ile aynıdır.

6: "[[: :]]" Karakter sınıfı Operatörleri:
kullanımları $regex(string,[[peratör:]])
Operatörleri ve anlamları:
alnum : yazı karakterleri ve sayılar
alpha : sadece yazı karakterleri
blank : space veya tab.
cntrl : kontrol karakterleri (ASCII de 0177 ve 040 tan duşuk karakterler)
digit : sayılar
lower : küçük harf
space : boşluk, $cr (carriage return) , $crlf (yeni satır), tab
upper : büyük harf
xdigit : hexadesimal sayılar: 0--9, a--f, A--F
Örnekler:
//echo - $regex(AAAA23 $+ $cr,[[:space:]])
//echo - $regex(AAAA23,[[:space:]])
//echo - $regex(AAAA23,[[:digit:]])
//echo - $regex(AAAA,[[:digit:]])
vs..
7: "-" Aralık Operatörü:

Belli aralıklari karşılaştırmaya yarar 1-9,a-z,a-c gibi sırasıyla 1 den 9 a kadar, a dan z ye kadar kücük harfler, a dan c ye kadar kücük harfler'i arar.

Örnekler:
//echo - $regex(3,[1-5])
//echo - $regex(5,[1-5])
//echo - $regex(8,[1-5])

8: "()" Grup Operatörü:

Yukarıda bir örnekte bahsetiğim gibi aradığınız bir expression'u gruplamak için kullanılır br* yazarsak sadece r ye göre işlem yapılır, ama (br)* yaparsak br ye göre işlem yapar.


9: Kelime Operatörleri:

\b :
Kelime tam anlamıyla eşitse 1 değeri döner
Örnekler:
$regex(rat,\brat\b)
$regex(arata rat a,\brat\b)
$regex(arata rata,\brat\b)
$regex(arata rata,rat\b)
vs..
\B :
Kelime içeriyorsa 1 değerini döner \b deki gibi space'e gerek yoktur.
$regex(crate,c\Brat\Be)

\s :
Herhangi bir boşluk karakteri varsa 1 değeri döner.
$regex(deneme mesajı,\s)

\S :
\s nin tam tersi boşluk yoksa 1 döner. $regex(deneme,\S)

\w :
Herhangi kelime sayılabilecek karakter içeriyorsa 1 değeri döner.
$regex(deneme,\w)

\W :
\w nin tam tersi.
$regex(bunu dene,\W)

\d :
Herhangi bir sayı varsa 1 değeri döner
$regex(deneme 20,\d)

\D :
Herhangi bir sayı yoksa 1 değeri döner
$regex(deneme 20,\D)

Extra not: regexte \, {, gibi karakterleri aramak için başına \ koymamız gerekli böylece onları operatör değilde karakter olarak görür.

Alıntıdır ..
__________________
Kod:
Sµstµm .. yåLnız qôzLerimLe døkµnµyørµm håyåtå kimse ånLåmıyør ..





By SinnéR
Sinner Şuan Çevrimdışı   Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Mesaj Yazma Kuralları
Konu Açma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

İfadeler Açık
[IMG] Kodları Açık
HTML Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Foruma Zıpla

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
çocuk Için Internet Kullanımı önerileri Stripling Aile Evlilik ve Çocuklar 0 16-10-2008 16:12
ALias kuLLanımı(Geni$ ßiLqi) buSra mIRC Scripting Dersleri 2 27-08-2008 23:25
Spamfilter Kullanımı.. BeyazBuLuT Unreal IRCd 2 15-03-2008 20:49


Tüm zamanlar GMT +2 olarak düzenlenmiştir. Şuan Saat: 08:11.


vBulletin® ile tasarlanmıştır.
Telif hakkı ©2000-2010, Jelsoft Enterprises Ltd. aittir.
Kullanılan sürüm: vBulletin 3.8.3
Site açıklaması: IRC, IRC Forumları, forumlar, paylaşım, mIRC Scripting, IRCd ve IRC sunucuları.

Desteklenen siteler: IRC Forum | sohbet | mirc indir | IRC Forum | IRC


Search Engine Friendly URLs by vBSEO 3.2.0