Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit Regex (https://www.delphipraxis.net/85098-problem-mit-regex.html)

colder 25. Jan 2007 21:38


Problem mit Regex
 
Hallo,

leider stehe ich mit Regex auf Kriegsfuss. Daher die Bitte man möge mir vieleicht helfen.
Folgender Code (Jakarta Velosity Macros):

Delphi-Quellcode:

Dieser Dialog wird angezeigt, wenn Sie im linken Seitenbereich der #help_link("HELPTOPIC_APPLICATIONADMINPAGE" false) aus dem
Kontextmenü eines Objekts im Baum den Menüpunkt #help_icontext("DELETE" $LBL_DELETE) ausgewählt haben.</p>
#help_yesnobuttonsstart()


Das ausgewählte Objekt wird unwiderruflich gelöscht und kann nicht wiederhergestellt werden.</p>
#help_yesnobuttonsend()

#help_confirminfo("$CONFIRMMESSAGEKEY_DELETEAPPLICATION")
Hierbei handelt es sich um HTML-Code mit Variablen (z.B. $LBL_DELETE) und Macros (#help_icontext("DELETE" $LBL_DELETE)). Ich möchte nun als erstes alle Variablen auflösen,
also muss ich die irgenwie herausfilten und ersetzen. Danach muss ich die Macros filtern und
auflösen. Ich dachte mir da wäre Regex nicht schlecht. Leider bekomme ich nichts zusammen mit
dem iregend etwas anzufangen wäre.

gruss andreas

omata 26. Jan 2007 02:28

Re: Problem mit Regex
 
Hallo colder,

in Delphi oder PHP?

Delphi...
Delphi-Quellcode:
procedure FindVars(HTML:string; Vars:TStrings);
var Regexpr:TRegExpr;
begin
  Vars.Clear;
  Regexpr:=TRegExpr.Create;
  try
    Regexpr.Expression:='\$[_A-Z]*';
    if Regexpr.Exec(HTML) then begin
      repeat
        Vars.Append(Regexpr.Match[0]);
      until not Regexpr.ExecNext;
    end;
  finally
    Regexpr.free;
  end;
end;
PHP...
Code:
  if (preg_match_all('/\$[_A-Z]*/', $html, $match)) {
    for($i = 0; $i < count($match[0]); $i++) {
      echo $match[0][$i] . "
";
    }
  }
Gruss
Thorsten

annonyme 26. Jan 2007 12:09

Re: Problem mit Regex
 
Code:
import org.apache.oro.text.perl.*;

...
...
...

Perl5Util reg=new Perl5Util();
reg.match("/blubb/","text_blubb_text")
int i=0;
while(i<=reg.groups()){
   System.out.println(reg.group(i));
}
Vielleicht hilft dir das....


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz