Laden...

[Regex] Zuweisungen filtern

Erstellt von alanblack vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.640 Views
A
alanblack Themenstarter:in
49 Beiträge seit 2009
vor 14 Jahren
[Regex] Zuweisungen filtern

hi leute,

sorry auch wenns ne anfängerfrage is, aber ich verzweifel grad:

ich habe einen string der immer folgendermaßen aufgebaut ist:

adresse = 127.0.0.1

nun möchte ich in dem fall nur die ip (127.0.0.1) durch regex bekommen.. ich bekomms einfach nicht hin.
folgendes hab ich bereits versucht:

.*?=(.*?)

hier matcht er mir genau das gegenteil, aber wie kann das sein?

Danke für eure hilfe

G
58 Beiträge seit 2007
vor 14 Jahren

Die Fragezeichen sagen ihm "so wenig wie möglich" - da du keine äußeren Begrenzungen angegeben hast wird der Regex nur auf das = und nichts weiteres matchen. Du brauchst auf jeden Fall eine Begrenzung am Ende, sei es nun ein $ beim Mehrzeilenmatch oder ein Newline.

Was meinst du mit "hier macht er genau das Gegenteil?"

Greetz,
Grolli

M
334 Beiträge seit 2007
vor 14 Jahren

einfach die ? weglassen und nachm = ein Leerzeichen:

.*= (.*)
946 Beiträge seit 2008
vor 14 Jahren

Das Hauptproblem scheint zu sein, wie du die E-Mail Adresse auslesen kannst.
So wie du denkst geht das beispielsweise mit folgendem Pattern:

(?<=\w+ *= *)[\d\.]+

Normalerweise liest man aber in den Matches die Groups aus.
Wie das geht steht im [Artikel] Regex-Tutorial

In Nützliche Regex-Pattern findet sich ein vordefiniertes Pattern für eine IP-Adresse.

\w+ *= *\b(?<IPAddress>(2([0-4][0-9]|5[0-5])|[01]?[0-9]{1,2})(\.(2([0-4][0-9]|5[0-5])|[01]?[0-9]{1,2})){3})\b

Das wäre dann das Pattern.

mfg
SeeQuark