Reg-Exp -stoppt nicht da wo ich möcht.
kaepten
- perl
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
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!
Hi Frank
Vielen Dank für den Hinweis!
kaepten