Autor Beitrag
Hendi48
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271



BeitragVerfasst: Fr 12.09.08 18:25 
Hi,

ich verusche gerade irgendwie PCRE in Delphi 2009 zum Laufen zu bekommen, aber es geht einfach nicht.
Mein Code sieht so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
var
  R: TRegEx;
  M: TRegExMatch;
  MemoString, rs: string;
begin
  MemoString := 'http://blabla.com/';
  
  R := TRegEx.Create('http', []);
  M := R.Match(MemoString);
  if M.Matched then
    rs := M.Value
  else
    rs := 'kein Treffer';
 
  MessageBox(Handle, PChar(rs), '', MB_OK);

Das Ergebnis ist "h". Einfach nur ein h. Richtig würde aber doch "http" sein, oder?

Ich hab mal meine PCRE Unit angehängt. Ich hoffe jemand von euch weiß wo der Fehler liegt, die Unit ist nämlich sehr wichtig für mein Projekt.

Gruß,
Hendi


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 12.09.2008 um 18:28
Einloggen, um Attachments anzusehen!
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Fr 12.09.08 21:26 
Wird mit dem neuen Standardstring (UnicodeString statt AnsiString) zusammenhängen

_________________
Markus Kinzler.
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Fr 12.09.08 22:22 
Ohne Anzusehen würde ich darauf tippen das RegEx-DLL nicht Unicodefähig ist und nur eine Ansi-Schnittstelle hat. Dummerweise wird sie jetzt mit 2Byte-Charactern aufrufen bei denen bei "normalen" Strings jedes 2te Byte ein $00 ist was bei C das Zeichenende ist.

Besorg dir lieber eine Unicodefähige Regex-Bibliothek wie aus dem ElPack oder eine ander OpenSource-Komponente bei der ich gerade nicht die URL zur verfügung habe.
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Fr 12.09.08 23:14 

_________________
Markus Kinzler.
Hendi48 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271



BeitragVerfasst: Fr 12.09.08 23:15 
Hm, ok, hab mir schon gedacht, dass es an den UnicodeStrings liegt. Dann muss ich wohl eine andere Komponente nehmen.