Anzeige:
Ergebnis 1 bis 3 von 3

Thema: perl regex

  1. #1
    Registrierter Benutzer
    Registriert seit
    04.08.2002
    Ort
    Berlin
    Beiträge
    25

    perl regex

    Hi,

    ich versuche aus ifconfig ppp0 meine Internet IP auszulesen. Die Ausgabe des Befehl speicher ich in @out. Die IP versuche ich per
    Code:
        $out[1] =~ /^.*:([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*$/;
        $ip = $1;
    zu ermitteln. Die Zeile die durchsucht wird sieht so aus: inet Adresse:212.202.200.8 P-z-P:212.202.223.251 Maske:255.255.255.255. In $1 wird mir un die Netmask gespeichert. Kann mir jemand sagen was ich verändern muß, damit der regex auf die erste IP matcht und diese dann in $1 speichert wird?
    Mit $out[1] =~ /^.*se:([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*$/; funktioniert es, aber mit der oberen Variante muß es doch auch irgendwie gehen, wenn ich ihm sage, er soll das erste Ergebnis nehemn. das er findet.

    by, blackm

  2. #2
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638

    Re: perl regex

    Hi,

    Original geschrieben von blackm

    Code:
        $out[1] =~ /^.*:([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*$/;
        $ip = $1;
    zu ermitteln. Die Zeile die durchsucht wird sieht so aus: inet Adresse:212.202.200.8 P-z-P:212.202.223.251 Maske:255.255.255.255.
    Also mit
    Code:
    ^.*:
    würde ich nicht anfangen, denn '.' heißt ja jedes beliebige Zeichen und Perl aht den Ansatz immer das maximalste zu finden. In Deinem Fall wäre das maximalste bis zum letzten ':'. Daher entweder sagen auf minimal
    Code:
    ^.*?:
    oder es soll halt alles außer ':' sein
    Code:
    ^[^:]*:
    Gruß

    -= Pingu =-

  3. #3
    Registrierter Benutzer
    Registriert seit
    04.08.2002
    Ort
    Berlin
    Beiträge
    25

    Re: Re: perl regex

    Hi,

    Original geschrieben von Pingu
    Hi,

    Perl hat den Ansatz immer das maximalste zu finden.
    Ah, gut zu wissen! Danke für die beiden Beispiele, mein gewünschtes Ziel wird nun erreicht.

    by, blackm

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •