Dennis: Regulärer Ausdruck für die Suche nach einer IP

Beitrag lesen

Hi sirius6b,

preg_match("/inet addr:([0-9]{1,3}.*[0-9]{1,3}.*[0-9]{1,3}.*[0-9]{1,3})/", $eingabe, $matches);
bzw. so müsste er eigentlich mehr sinn machen...

Vorher war nur ein kleiner Fehler mit den Klammern - ( - drin, am RegEx selber hat sich nicht viel geändert.

Ich halte noch mal kurz fest: Der Punkt matched, sofern er nicht innerhalb von eckigen Klammern (also innerhalb einer Zeichneklasse) vorkommt jedes beliebige Zeichen, abgesehen von einem Zeilenumbruch.
Um einen Punkt selber zu fassen, kannst du entweder . schreiben, es würde aber auch [.] funktionieren.

Das Zeichen * steht für ein beliebig häufiges Vorkommen, dazu gehört auch 0 mal. Ebenso gibt es noch +, welches zwar ebenfalls für bis unendlich gilt, aber erst von 1 an. Das Zeichen müsste dann also mindestens einmal vorkommen.

Das [0-9] kannst du außerdem noch kürzer schreiben, indem du \d verwendest. \d steht für Digit und matched eine beliebige Zahl. Alternativ gibt es auch noch \D, was alles außer einer Zahl matched. Weitere solche Kürzel findest du im PHP Manual unter PCRE Pattern Syntas - backslashes bei "The third use of backslash".

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker von WWWTech gehören und nicht hier her?