IRC ve mIRC Paylaşım Platformu  

  IRC ve mIRC Paylaşım Platformu mIRC Scripting mIRC Scripting Dersleri



mIRC Scripting Dersleri mIRC veya IRC komutları hakkında detaylı anlatım makalelerine bu başlık altından ulaşabilirsiniz.



Regex kullanımı

mIRC veya IRC komutları hakkında detaylı anlatım makalelerine bu başlık altından ulaşabilirsiniz.


Kullanıcı Etiket Listesi

 
Seçenekler Stil
Alt 01.04.2019, 21:09   #1


Surreal - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 23.03.2019
Mesajlar:91
Konuları: 73
Aldığı Beğeni: 16
Verdiği Beğeni: 36
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) == 1
aynı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)

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.
[color=blue]//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,[[:operatö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(5,[1-5])
//echo - $regex(3,[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.

 Surreal isimli Üye şimdilik offline konumundadır       Alıntı

Surreal Kullanıcısının Son 5 Konusu
Konu Başlığı Forum Last Poster Cevaplar Okunma Son Mesaj
21-04-19 | Fast Proxy Server List Güncel Proxy List Surreal 0 80 21.04.2019 03:26
proxy socks new güncel Güncel Proxy List Surreal 0 142 19.04.2019 01:47
socks listesi new guncel Güncel Proxy List Surreal 0 284 18.04.2019 00:40
socks proxy new güncel Güncel Proxy List Surreal 0 287 17.04.2019 02:43
proxy socks new güncel Güncel Proxy List Surreal 0 436 15.04.2019 01:22


Etiketler
irc, kullanımı.forum, mirc, regex


Şuan da bu konuyu görüntüleyenler: 1 (0 üye ve 1 misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB kodu Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Forumirc İştirakı olup tüm hakları saklıdır.