Suse*: Delimiter Suchmuster Delimiter

hey there,

naja, was ich den heutigen morgen lernte ist das reguläre ausdrücke wenn es komplexer als nur ein wort oder zeichen schon sehr schwierig werden kann mit umsetzung.

Dieses zeichen ^ (Zirkumflex) sucht ja nach zeichen die genau am anfang einer Zeichnenkette zufinden sind.
Also bei /^Self/ im String SELFHTML wär die ausgabe ja True.
Ein $ am ende einer Zeichenkette z.B /^SEL...ML$/ wär diese Zeichenkette "SELTTTML" genau wie "SELFMTML" True.
Der punkt erstetzt ja jedes beliebige Zeichen.
Aber nun einer meiner fragen:
Was mache ich wenn ich aber die anzahl der Zeichen die egal sind und die ich mit einem . versehen habe nicht kenne?
Zum Beispiel:
Ich möchte gerne wissen ob eine URL gültig ist:

http://www.EgalWieVielZeichen.de

Dan würde ich anfangen das so zu maskieren:

/^http://\.www./

Aber wie dann weiter? Wie überbrücke ich die anzahl der Zeichen die ich nicht kenne in der mitte der URL damit ich mit der endung weitermachen kann .de$ ?
Irgendwie habe ich einen knoten im Kopf..... ich glaube ich muss mir mal mit Cartun´s "Pflege fürs gehirn" den Kopf waschen ;)

Kann mir das bitte einer "Idioten" gerecht erklären?
Ich wäre überraus dankbar!

  1. Ich glaube ich jetzt auf dem richtigen weg:
    $muster="/^http://\www.+[a-z]+.de$/"
    passt! Yep!

    1. Hi!

      Ich glaube ich jetzt auf dem richtigen weg:
      $muster="/^http://\www.+[a-z]+.de$/"
      passt! Yep!

      Das erste Plus ist überflüssig, bzw. der Ausdruck findet so auch Sachen wie http://www........asdasdsa.de. Außerdem findest du so nur Kleinbuchstaben, siehe auch meine andere Antwort.

      mfG

      --
      sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
      "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
      (Terry Pratchett)
      1. Ok, danke!

  2. Hi!

    Aber wie dann weiter? Wie überbrücke ich die anzahl der Zeichen die ich nicht kenne in der mitte der URL damit ich mit der endung weitermachen kann .de$ ?

    Eine beliebige Anzahl von Zeichen drückt man in der Regel mit Hilfe eines * aus. In deinem Fall wäre das dann .* , wenn du alle Zeichen durchgehen lassen willst (ein Punkt steht ja bekanntlich für ein beliebiges Zeichen). [a-zA-Z]* sucht nur nach Buchstaben, [a-zA-Z0-9]* auch nach Zahlen.
    Oder aber du verwendest [^.]* (sucht nach einem beliebigen Zeichen, das kein Punkt ist, wobei ich gerade nicht sicher bin, ob man den Punkt maskieren muss - probier es aus!)

    Siehe auch
    http://de.selfhtml.org/perl/sprache/regexpr.htm

    mfG

    --
    sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
    "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
    (Terry Pratchett)