"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

regexp frage

kleinerChemiker 03.02.2005 - 17:29 493 9
Posts

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4281
unter php

jetzt habe ich folgende regexp:

Code: PHP
preg_match ("/P=(.*)\n/",$hausblock,$temp);

problem: es gibt eine zeile die so aussieht:
Code:
MOREP=111.111.1\n

und eine zeile die so aussieht:
Code:
P=111.111.1\n

ich will jedoch nur die zweite zeile. wie kann ich in der regexp die erste zeile ausschließen?

tia

MIK
Bearbeitet von kleinerChemiker am 13.02.2005, 14:02 (solved)

SYSMATRIX

Legend
Legend
Registered: May 2000
Location: ~
Posts: 5020
mit /^P=(.*)\n/

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4281
thx, funzt aber leider nicht. damit erkennt er schienbar keine der beiden zeilen.

SYSMATRIX

Legend
Legend
Registered: May 2000
Location: ~
Posts: 5020
ein "^" heißt anfang der zeile muß matchen...

zeig mir ein sample vom input.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
du musst den modifier "m" hint dran schreiben.

ausserdem nimmst du dann "$" statt "\n"

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4281
input: hab ich oben hingeschrieben. wobei die zahlen koords sind und daher variieren. eben jene will ich extrahieren.

watchout: so? preg_match ("/^P=(.*)$/m",$hausblock,$temp);

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
ja, das sollte das gewünschte ergebnis liefern...

PHaX

Little Overclocker
Avatar
Registered: Oct 2001
Location: Vienna
Posts: 53
Probiers mal so:
"/^P=([0-9]+(\.[0-9]+)*)$/m"

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von PHaX
Probiers mal so:
"/^P=([0-9]+(\.[0-9]+)*)$/m"
lass es lieber sein, und lies' mal die Angabe genau durch. Du tust hier nichts anderes als den Regexp-Parser unnötig zu strapazieren, was einer Performancevernichtung gleichkommt.

kleinerChemiker, funktioniert's? Dann wärs vielleicht nicht schlecht, würdest du uns das mitteilen.

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4281
sorry, daß ich nciht geantwortet habe, war aber im urlaub.

hab jetzt preg_match ("/^P=(.*)$/m",$hausblock,$temp); und es scheint zu funktionieren. zumindest hat sich noch keiner beschwert ;)

thx auf alle fälle
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz