Düzenli ifade işleçleri ve anlamları

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Düzenli ifade işleçleri ve anlamları

Mesaj gönderen husonet »

Düzenli ifade işleçleri ve anlamları

[] aralık belirtimi (Örn, [a-z], a ile z arasındaki bir harf yada aralık.)
\w harf ya da rakam; [0-9A-Za-z] ile aynı
\W ne harf ne de rakam
\s boşluk karakteri; [ \t\n\r\f] ile aynı
\S boşluklar dışında herhangi bir karakter
\d rakam; [0-9] ile aynı
\D rakamlar dışında herhangi bir karakter
\b tersbölü (0x08) (sadece herhangi bir aralık belirtilmişse)
\b kelime içi sınır belirtimi (aralık belirtiminin dışındayken)
\B kelime dışı sınır belirtimi
* öncelediği ifadeyi sıfır ya da daha fazla tekrarlar
+ öncelediği ifadeyi bir ya da daha fazla tekrarlar
{m,n} öncelediği ifadeyi en az m en çok n kez tekrarlar
? öncelediği ifadeyi en fazla bir kere tekrarlar; {0,1} ile aynı
| önündeki veya ardındaki ifade eşleşebilir
() gruplama işleci


Örn : [0-9]{4} bu düzenli ifade verilen parametrenin içinde 4 rakamlı bir sayı arayacaktır

Kullanılabilecek örnek bileşen
http://www.husonet.com/dfiles/DuzenliIfadeler.rar


Kolay Gelsin...
En son husonet tarafından 29 May 2006 01:32 tarihinde düzenlendi, toplamda 1 kere düzenlendi.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
ya @hüsonet bu yazdıkların ne oluyor. Nerde kullanılıyor. Yenilir mi, içilir mi?
Birde onları yazsaydın. Valla ben bişey anlamadım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

aslangeri yazdı:s.a.
ya @hüsonet bu yazdıkların ne oluyor. Nerde kullanılıyor. Yenilir mi, içilir mi?
Birde onları yazsaydın. Valla ben bişey anlamadım.
kolay gelsin.
Hocam kusura bakma

Düzenli ifadeler, metin dizgeleri üzerinde arama, eşleştirme ve bu gibi diğer işlerle uğraşırken sizi sorunlardan (ve satırlarca koddan) kurtaran bir çözümdür. Hemen hemen bütün programlama dillerinde mevcuttur. Ben php ide sıklıkla kullanıyorum delphi de metin işlemleriyle uğraşan arkadaşların çok işine yarayabileceğini düşündüm...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Örnek

Kod: Tümünü seç

uses RegExpr;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if not ExecRegExpr('[\w\d\-\.]+@[\w\d\-]+(\.[\w\d\-]+)+',
      Edit1.Text) then begin
    ShowMessage('Email adresi geçerli değil');
    Edit1.SetFocus;
  end else
    ShowMessage('Email adresi geçerli');
end;

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

ingilizcesi : Regular Expressions. ordan tanıdık gelir belki :)
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bir örnek daha

Kodun amacı memo daki mail adreslerini listbox a eklemek basit bir örnek yüzde yüz çalışmayabilir sadece neler yapabileceğinize dair...

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  RegExpr: TRegExpr;
begin
  ListBox1.Clear;
  RegExpr := nil;
  try
    RegExpr := TRegExpr.Create;
    if RegExpr <> nil then begin
      RegExpr.Expression := '[^\w\d\-\.]([\w\d\-\.]+@[\w\d\-]+'
                          + '(\.[\w\d\-]+)+)[^\w\d\-\.]';
      if RegExpr.Exec(Memo1.Text) then
        repeat
          ListBox1.Items.Add(RegExpr.Match[1]);
        until not RegExpr.ExecNext;
    end;
  except
  end;
  RegExpr.Free;
end;

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

şimdi anlaşıldı.
teşekkürler.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla