Delphi regex sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
alicilin
Üye
Mesajlar: 15
Kayıt: 23 Ara 2014 04:11
Konum: Şırnak
İletişim:

Delphi regex sorunu

Mesaj gönderen alicilin »

Merhaba arkadaşlar,abiler ablalar...

Ben web programcısıyım. Kullandığım dil de php. Phpnin regex için yazılmış preg_**** fonksiyonları vardır. preg_match bu fonksiyonlardan birisi. Bende delphide böyle bir procedure oluşturup kullanmak istedim.

ve şu procedure 'ü yazdım;

Kod: Tümünü seç

procedure TForm1.match(Pattern,Text: string; const Matches: TStrings);
var
Regexpr : TRegEx;
Match   : TMatch;
begin
    Regexpr := TRegEx.Create(Pattern);
    Match := Regexpr.Match(Text);
    Matches.Clear;
    while Match.Success do
    begin
        Matches.Add(Match.Value);
        Match := Match.NextMatch;
    end;
end;
Herşey iyi hoş fakat bu prosedürü kullanırken şu şekilde kullanıyorum

Kod: Tümünü seç

match('Ali(.*?)Güler','Ali Fırat Güler',Memo1.Lines);
Ben burada sadece Fırat kısmını almak istiyorum fakat memo1 eSonuç olarak direk Ali Fırat Güler geliyor. Benim bildiğim bütün dillerde regex parametreleri aynı diye biliyorum. Ama delphide bir türlü düzgün bir regex deseni yazamadım.
yardımlarını için şimdiden teşekkür ederim
Önemli olan bilip bilmemek değil. Öğrenebilecek kapasitede olmak
alicilin
Üye
Mesajlar: 15
Kayıt: 23 Ara 2014 04:11
Konum: Şırnak
İletişim:

Re: Delphi regex sorunu

Mesaj gönderen alicilin »

Sorunumu kendim Çözdüm arkadaşlar. Prosedürümü şu şekilde değiştirdim oldu;

Kod: Tümünü seç

procedure TForm1.match(Pattern,Text: string; Group: integer; const Matches: TStrings);
var
Regexpr : TRegEx;
Match   : TMatch;
begin
    Regexpr := TRegEx.Create(Pattern,[roIgnoreCase,roMultiline]);
    Match := Regexpr.Match(Text);
    Matches.Clear;//
    while Match.Success do
    begin
        Matches.Add(Match.Groups.Item[Group].Value);
        Match := Match.NextMatch;
    end;
end;
Önemli olan bilip bilmemek değil. Öğrenebilecek kapasitede olmak
Cevapla