Hackhell Forum 1,216,693 Üye | 460,018 Konu | 4,519,290 Mesaj | 3912 Online

Go Back   Hackhell Forum > Programlamaya Giriş > ASP / PHP / JSP / HTML / CSS > Web Development

Regular Expression

 ASP / PHP / JSP / HTML / CSS Katagorisinde ve  Web Development Forumunda Bulunan  Regular Expression Konusunu Görüntülemektesiniz.=>merhaba arkadaşalar regular expressionlarla ilgili birşeyler yazmak istedim, olabildiğince basit ve dilden bağımsız bir şekilde anlatmaya çalışacağım, biçimsel diller ve ...


Cevapla
 
LinkBack Seçenekler Stil
Alt 31-08-2008, 06:57 PM   #1
bilamir
Misafir
 
bilamir - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Aug 2008
Mesajlar: 7
reklam@hackhell.com
Teşekkürleri: 2
3 mesajına 4 kere teşekkür edildi.
pcdepo
Regular Expression Regular Expression







merhaba arkadaşalar regular expressionlarla ilgili birşeyler yazmak istedim, olabildiğince basit ve dilden bağımsız bir şekilde anlatmaya çalışacağım, biçimsel diller ve otomata dersinin giriş konusu olan bu konuyu hemen heryerde kullanabiliriz tamamen sizin mantığınıza ve hayal gücünüze kalmış, regular expressionlarda sadece tek bir doğru yoktur yani bir problemi birden fazla regexle çözebilirsiniz, en basitinden bir text içinde bir arama yapacağımızı düşünelim örnek textimiz ne olsun şu olsun absdgtryeugkdjdhfhrrjfkdjf<a href= http://www.madyes.net/">ffgdhfgrrrrueyrurfuj oldumu şimdi bu text içinde saklı bir link var ve öyle bir regex yazmalıyızki bu yazılar içinden bize doğru linki versin şimdi dilden bağımsız olarak yazarsak ne olur şöyle olut; bir link nasıl tanımlıdır? <a href= http:// ile başlamalıdır ozaman regex imizin başlangıcı budur peki neyle biter " karakteri ilede vermek istediğimiz linki bitiririz yani yapmak istediğimiz regex imiz şöyle olur (<a href= http://(*)") ahanda bu şekilde tabi bu dil bağımsız yazılışı orda tırnak işareti felan olduğundan o işaretten önce hangi dili kullanıyorsanız ona göre bir karakter daha kullanmanız gerekir mesela php için şöyle olur yazılış preg_match_all("'<a href=\"http://(.*?)\"') ahanda bittiii bunu yazduğınız ne kadar uzun bir metin olursa olsun bu yapıya uygun her türlü linki önünüze serecektir, başka bir örnekte web sayfalarındaki email doğrulamalarıdır, nedir emailin giriş zorunluluğu? sayı ile başlamayacak büyük yada küçük harf olabilir başlangıç bundan sonra sayıda gelebilir yazıda ondan sonra ne gelecek tabiiki @ karakteri ondan soora mutlaka yazı sonra . (nokta) sonra yine yazı mantığını mutlaka doğru çıkarmalısınız benim mantıkta herhangi bir yanlışlık varmı tabiiki bilmiyorum ama o mantığa göre oluşturacaz birşeyler şimdi neyle başlayacaktı ? yazıyla, yapalım hemen [a-zA-Z] ne demek bu? büyük yada küçük harfle başlaması gerektiğini anladık burdan, daha sonra herşey olabilir nedir o herşey yazı ve sayı devam edelim [(a-zA-z)*(a-zA-z0-9)*] ahanda oldduuuu yanlarına * koymamdaki maksat parantez içerisindeki işaretlerden istediğim kadar alabilirim demek yani ne olabili şimdilik şu olabilir = aaaaasgdhdgsBBBBBBBBssssa99888 yada a999999bbbb yada a9999 ama kesinlikle sayı ile başlayamayacağını anlattık ona devam edelim bunlardan sonra ne gelecekti @ karakteri sadece bu karakter olması gerektiğinden bunu aynen yazarız yani son hali nasıl olur [(a-zA-z)*(a-zA-z0-9)*@] eveeet daha sonra ne olacaktı du bakiim kesinlikle yazı gelmeliydi onuda şu şekilde ifade ederiz [(a-zA-z)*(a-zA-z0-9)*(@)(a-zA-Z)] oldumu ? süper oldu daha sonra mutlaka . ( nokta ) gelmeliydi oda sabit bir karakter olduğundan aynen yazarız sonraki son hali şu şekilde olur [(a-zA-z)*(a-zA-z0-9)*(@)(a-zA-Z)*(.)] tamammıdır ? bence güzel gidiyoruz şimdi noktadan sonra ne gelecek net com org falan filan uzantılar daha uzantıları tek tek tanımlamamız gerekir çünkü epey değişik uzantılar olabilir, o yüzden şu şekilde yaparsak gayet sağlam olma eğilimi gösterebilir [(a-zA-z)*(a-zA-z0-9)*(@)(a-zA-Z)*(.)(com| com.tr | org | org.tr .... )] bu şekilde tanımlarsak epey sağlam yapmış oluruz uzatmışta olabilirim kesin internette daha kısa yolları olabilir ama dediğim gibi bu dilden bağımsız bir yazılıştır yani diller üzerine yoğunlaştığımızda kendilerine özgü şeyleri keşfedebileceğiz ben öyle yaptım regex te tüm olasılıkları düşünmeliyiz yazarken yoksa çok büyük yanlışlıklar yapabiliriz kodda sorun çıkarmaz ama tabiiki doğru sonuç alamayabilir ve buda başımıza epey sorulu işler açabilir ve bazı çok basit problemlerde işin işinden çıkamamanız doğal olacak hemen yılmayın çünkü aslında onun o kadar basit olmadığını göreceksiniz ve kendinizle gurur duyup vayyy beee diyeceksiniz, tabiiki regex leri kullanacaksanız elinizdeki verilerin düzenli veriler olması gerekiyor adında anlaşılacağı gibi bunlar regex ( düzenli ifadeler ) eğer verileriniz böyle değilse hiç uğraşmayıp başka mantıklar aramanız gerekir, biçimsel diller ve otomata dersinden şartlı geçmenin büyük gururuyla bu yazımı yazdıktan sonra hemen aşağıdaki linki ekleyip yazımı bitiriyorum ama sorusu merakı olan arkadaşlara mutlaka yardımcı olmaya çalışırım elimden geldiğince, yazı devrik yada anlaşılmaz yazılmış olabilir o yüzden özür diliyorum şimdiden teşekkür etmek isteyen arkadaşlar imzamda bulunan regular expression ile yapılmış web sitemi ziyaret edebilirler fikirlerinide burdan okuyabilirim yazarlarsa sevinirim hepinize iyi çalışmalar kolaylıklar gelsin

Konu bytan tarafından (31-08-2008 Saat 08:17 PM ) değiştirilmiştir. Sebep: Site reklamı yapmak yasaktır.
bilamir isimli üyemiz çevrimdışıdır. (Offline)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Mesajı Spurl ile Paylas!
Alıntı ile Cevapla



Tüm yerli ve yabancı diziler HHİzle'de siz dizi severler ile buluşuyor.

Cevapla

Etiketler
expression, regular

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 code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 06:26 PM.

Forum Yasal Uyarı HH
Kullanılan Portal Sürümü : HH Portal
Script Sürümü : vBulletin Version 3.8.4 PL1
Seo Yazılımı : vBSEO ©2009, Crawlability, Inc
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Sitemiz Internet Explorer 6+, Firefox 2.0.0.14+, Opera 9.52+, Safari 3.1.2+, Chrome 0.2.153.1+ ve 1024x768+ Ekran Çözünürlüğünde Test Edilmiştir.

Sponsor Bağlantı : dövme | mirc indir | dövme | mirc | sohbet | sohbet | msn show
Sitemiz, hukuka, yasalara, telif haklarına ve kişilik haklarına saygılı olmayı amaç edinmiştir. Sitemiz, 5651 sayılı yasada tanımlanan .yer sağlayıcı. olarak hizmet vermektedir. İlgili yasaya göre, site yönetiminin hukuka aykırı içerikleri kontrol etme yükümlülüğü yoktur. Bu sebeple, sitemiz .uyar ve kaldır. prensibini benimsemiştir. Telif hakkına konu olan eserlerin yasal olmayan bir biçimde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahipleri veya meslek birlikleri, abuse@hackhell.com mail adresinden bize ulaşabilirler. Buraya ulaşan talep ve şikayetler Hukuk Müşavirimiz tarafından incelenecek, şikayet yerinde görüldüğü takdirde ihlal olduğu düşünülen içerikler sitemizden kaldırılacaktır. Ayrıca, mahkemelerden talep gelmesi halinde hukuka aykırı içerik üreten ve hukuka aykırı paylaşımda bulunan üyelerin tespiti için gerekli teknik veriler sağlanacaktır.
Valid CSS!