Konuyu Oyla:
  • Derecelendirme: 3/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Regex ile HTML veri ayrıştırma (Regular Expressions)
#11
Php den biliyorum bu olayı fakat oldukça yavaş çalıştığı yada sistemi çok yavaşlattığı söyleniyordu, o yüzden hiç kullanmamıştım.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#12
(22-09-2016, Saat: 18:00)pro_imaj Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Yardımlarınız için çok teşekkür ederim. Fesih Hocam dediğiniz gibi oluyor bu gece fazlaca bu konuda çalışma yapacağım.

Arkadaşlar bahsettiğim konu buydu, Fesih hocamında belirttiği gibi; Yüzlerce satırlık HTML kodu için string işlem yaparken herhangi bir değişiklikte tekrar uğraşmak zaman alırken burada sadece ufak bir hareketle hemen düzeliyor.


Teşekkürler.

Rica ederim,
Yapacağınız çalışma sonucunda elde ettiğiniz bilgileri bizimle paylaşırsanız sevinirim.
İyi çalışmalar...
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#13
Bende bekliyorum
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#14
Merhaba;
İnternet'teki bilgiler birbirinin aynısı neredeyse, bu konuda iyi bir doküman bulmadan bir şeyler yapmak çok zor, öncesinde yada sonrasında kullanılan işaretler bile fark ediyor.

HTML Parse işlemlerinde bunu kullanmak çok doğrumu karar veremedim şuan.
Kullanım alanlarının genellikle Email, Web, Telefon vb gibi doğrulama olduğunu gördüm. Tek satırda bütün denetimler yapılabiliyor.
Cevapla
#15
Bende e mail ve tarih formatı doğrulama için kullanmıştım doğrusu html işleminş nasıl yapacağını merak ediyordum Smile
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#16
Amaç HTML Parse ise ben olsam TWebBrowser, daha doğrusu IHTMLDocument2 ve IHTMLDocument3 interface'lerini kullanırdım. Nasılsa onlar benim yerime parse yapıyor. Hatta getElementById, getElementsByName vs hazır komutlarla ID'si yada Name'i belli olan HTML elamanlarına direk erişirim Wink
There's no place like 127.0.0.1
WWW
Cevapla
#17
(23-09-2016, Saat: 17:54)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Amaç HTML Parse ise ben olsam TWebBrowser, daha doğrusu IHTMLDocument2 ve IHTMLDocument3 interface'lerini kullanırdım. Nasılsa onlar benim yerime parse yapıyor. Hatta getElementById, getElementsByName vs hazır komutlarla ID'si yada Name'i belli olan HTML elamanlarına direk erişirim Wink

Dimi   Cool

E32PR9.png
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#18
Regular Expressions tam bir nimet.. İnsanı bazen yüzlerce IF bloğundan bile kurtarıyor..

Soruya gelecek olursak.. 
Aşağıda ki gibi bir fonksiyon yazdım umarım işini görür..

function GitAraBulGetirSaclariniYolGetir(const AAranan : string) : TStringList;
var
  regexpr : TRegEx;
  match   : TMatch;
  group   : TGroup;
  i       : integer;
  tmpStr  : String;
begin
 Result := TStringList.Create;
 tmpStr := AAranan;
 tmpStr := tmpStr.Replace(' ', '', [rfReplaceAll]);
 tmpStr := tmpStr.Replace('</', '</'+#13, [rfReplaceAll]);

 regexpr := TRegEx.Create('(\">(?<deger>.+)\<\/)',[roIgnoreCase,roMultiline]);
 match := regexpr.Match(tmpStr);

 if not match.Success then
 begin
   showmessage('Bulunamadı!');
   exit;
 end;

 while match.Success do
 begin
   if match.Groups.Count > 1 then
   begin
       Result.Add( match.Groups.Item['deger'].Value );
   end;
   match := match.NextMatch;
 end;
end;

ilk önce &nbsp; karakterlerini temizliyoruz..
daha sonra "</" karakterlerini "</"+ ENTER olarak değiştiriyoruz.. Tek satırda çoklu sonuç döndürmek biraz yorucu..
son olarak regex i çalıştırıp eşlenenleri döngü ile alıyoruz..


Kullanımı : 
Memo2.Lines.AddStrings( GitAraBulGetirSaclariniYolGetir(Memo1.Text) );

Kolay gelsin iyi çalışmalar..
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  HTML Sayfaya Veri Çekme Hayati 1 189 17-07-2019, Saat: 21:44
Son Yorum: SimaWB
  Excel'den veri çekme hatası harezmi 7 333 17-07-2019, Saat: 18:40
Son Yorum: harezmi
  Parmak izi okuyucudan veri çekmek ermanispir@gmail.com 9 562 16-07-2019, Saat: 13:47
Son Yorum: wiseman
  DBGrid1 den Excel Veri Gönderme OZCANK 0 160 13-07-2019, Saat: 14:03
Son Yorum: OZCANK
  Diger formdaki degiskenden veri cekme arsl01 8 457 10-07-2019, Saat: 11:57
Son Yorum: arsl01



Konuyu Okuyanlar: 1 Ziyaretçi