PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Regular expressions



Pingu
21-01-2002, 11:52
Hi,

ich hab ein Problem mit RegEx, ist zwar für PHP aber da hier die Perl Profis zu sein scheinen, stell ich's mal hier:

Ich möchte die ersten x (sagen wir mal 500) Zeichen haben und ausgeben. Hab dafür folgendes, funzt aber irgendwie nicht:



i|<body[^>]*>(.+\s){0,500}.*</body>|


Damit müßt ich doch eigentlich die ersten 500 Zeichen bekommen? (Das \s ist dafür, daß die Wörter nicht mittendrin abgeschnitten werden sollen.) Ich bekomme aber immer den ganzen Text.
Aber in den Man's heißt doch {x,y} - x - minimale Anzahl; y - maximale Anzahl. Oder lieg ich da falsch?

Gruß

-= Pingu =-

fork
21-01-2002, 12:39
Auch wenn ich nix weiss. Mal hier der Tip zum RegEx-Wizard

http://freshmeat.net/projects/txt2regex/

Aber das Problem ist klar:

(.+\s) ---> sucht Dir 1 - "beliebig viele" Zeichen vom Typ "Punkt" gefolgt von einer Wortgrenzenzusicherung, Das ganze dann mit einem Multiplikator von 1-500.

Du meinst wahrscheinlich das:
(.{0,500})\s


Gruß
fork

Pingu
21-01-2002, 13:08
Hey danke.

Hast ja recht, manchmal sieht man den Wald vor lauter Bäumen nicht - ich bin blöd xo)

Hab's jetzt mit : '|<body[^>]*>(.{0,500})(\s.*)?</body>|i'

uns jetzt geht's auch.

Gruß

-= Pingu =-