Mailinglisten-Archive |
Hallo, folgendes ist gegeben: - PHP 5.2.0 (preg_match) - Debian Etch - Eine Ascii-Datei mit tausenden von Zeilen Ich möchte mittels Regulären Ausdrücken prüfen, ob die Datei einen gewissen Standardaufbau hat. Leider hapert es schon beim ersten zu suchenden Eintrag. In einer Zeile steht: "BEGIN_PROGRAMM" (Ohne Anführungszeichen). "BEGIN_PROGRAMM" gibt es in der ganzen Datei nur 1x. Mit folgendem Pattern möchte ich ab Beginn der Datei bis einschließelich BEGIN_PROGRAMM die Zeichenkette auslesen: ~^([\S\s]+BEGIN_PROGRAMM)~ Teste ich dieses Pattern im "RegExCoach", dann werden genau die richtigen Zeilen geliefert. Mit PHP-preg_match, findet das Teil garnichts. Wenn ich aber das + als nicht gierig setze +? funtzt es plötzlich. ~^([\S\s]+?BEGIN_PROGRAMM)~ Da das Muster allerdings noch viel größer ist, benötige ich später einen gierigen Ausruck der dann allerdings garnicht mehr funtzt. Gleiches gilt auch wenn ich folgendes Pattern schreibe: ~^(.+BEGIN_PROGRAMM)~s Mit ~^(.+?BEGIN_PROGRAMM)~s geht es dann plötzlich. Steh ich nun aufm Schlauch oder gibt es einen mir noch unbekannten Schalter in PHP, oder ist es ein Bug? Mit freundlichen Grüßen Mario Batz
php::bar PHP Wiki - Listenarchive