kaepten: Reg-Exp -stoppt nicht da wo ich möcht.

Hallo Forum

Ich stelle mir gerade ein Muster für einen Regulären Ausdruck zusammen. Das Ziel = Ein bestimmtes Tag herausfiltern.

String = <textarea cols="" rows="" name=""></textarea>

mit folgendem Muster möchte ich den ersten Tag finden:

$Resultat =~ /(<textarea .*>)/;

Warum bekomme ich immer auch das end-tag, was ja bedeutet, dass er beim ersten ">" nicht anhält... ?

Vielen Dank für einen Tipp oder Hinweis
kaepten

  1. hi!

    String = <textarea cols="" rows="" name=""></textarea>
    $Resultat =~ /(<textarea .*>)/;
    Warum bekomme ich immer auch das end-tag, was ja bedeutet, dass er
    beim ersten ">" nicht anhält... ?

    Das liegt daran, dass die Quantifier wie * und + in regulären
    Ausdrücken gierig sind, d.h. sie versuchen so viel wie möglich
    abzudecken statt so wenig wie möglich. Um das zu verhindern, also
    dass der Quantifier so wenig wie möglich matcht, musst du ein ?
    dahinter setzen: /<textarea .*?>/

    bye, Frank!

    1. Hi Frank
      Vielen Dank für den Hinweis!
      kaepten