Perl: .* liest Zeilenumbrüche nicht -will aber

Hey Kolegen,
Perl liest Zeilenumbrüche mit .* in Regulären Ausdrücken nicht mit ein. Ich brauche aber auch die.

.* entspicht allem, ohne dem Zeilenumbruch.
und was entspricht allem ?

Wenns interessiert… brauchen tu ich das für folgendes:

sub p_tag_inhalt_auslesen{

P- Tag auslesen

$ausdruck = „(.*)“;
print $ausdruck;
if($datei_inhalt =~ /$ausdruck/) {
#print „Gefunden ($&amp:wink:\n“;
print „$1: $1\n“;
} else { print „nicht gefuden\n“ }
}

CU Seb

Hi,

Perl liest Zeilenumbrüche mit .* in Regulären Ausdrücken
nicht mit ein. Ich brauche aber auch die.

perldoc perlre

.* entspicht allem, ohne dem Zeilenumbruch.
und was entspricht allem ?

.* - mit der Option, daß der Punkt auch auf Newline matcht, also /s.

my $text = „Zeile 1\nund Zeile 2“;
print „Gut!“ if ($text =~ m!1.u!s);

Cheatah

.* entspicht allem, ohne dem Zeilenumbruch.
und was entspricht allem ?

=~ /.*/s;

(also der modifier s ist entscheidend für das ¨Uberlesen von Zeilenumbrüchen, , nicht das Pattern)

Gruss, gerry

Hallo,

ACK zu dem was die anderen bereits gesagt haben. Der s Modifier ists…

ABER:

Damit er Dir jetzt nicht alles zwischem dem ersten und dem letzten findet, musst Du der RegExp noch ihr gieriges Verhalten abgewöhnen.

Dazu einfach ein ? hinter das .* und er versucht möglichst wenig mit .* zu matchen…

Gruß
Arne