Oh, jetzt ist mir ein Fehler aufgefallen, aber erst einmal der Code (etwas verändert, auf Grund des Postings von Andreas Freund weiter unten).
#!/usr/bin/perl
while (<>)
{
if (/<(?:[^>]* )?title *= *("?).+\1(?: .*)?>/i)
{
print "+++ $& +++\n";
}
}
Das Problem ist, dass auch dieser String passt:
<img title="irgendeintitel> Ich denke, dies liegt daran, dass title *= * die Gänsefüßchen " ebenfalls einschließt.
Habe vergessen, dass die regulären Ausdrücke von Perl nicht ganz die gleichen sind wie von der bash. Selbstverständlich schließt *= * die G#nsefüßchen _nicht_ ein. Jetzt weiß ich aber auch nicht, wo der Fehler liegen könnte.
Mit freundlichen Grüßen
Dimitri Rettig