Monica y Stefan
Leonardo, Daniela

HomeFotosLeonardoDanielaKalenderPerl

Tipps und Tricks mit regulären Ausdrücken

Reguläre Ausdrücke sind ein mächtiges Hilfmittel im Kampf gegen Probleme in der Programmierung. Sehr elegant sind sie in die Programmiersprache Perl integriert, so sind diese Beispiele in dieser Syntax notiert. Die meisten lassen sich jedoch einfach in jede andere Programmiersprache die reguläre Ausdrücke unterstützt, z.B. PHP oder JavaScript, ableiten.

Einfaches und Triviales

Ganzer HTML-Tag erkennen (IMG)

$html =~ m/(<imgs+[^>]+>)/ig);
$img = $1;

Unvollständige HTML-Tags am Ende eines Strings entfernen

$html =~ s/<[^>]*$//;

Entfernen von HTML-Tags

m#<(.+?)>.+<>#

Attribut aus HTML-Tag

if ($html = m/
Beispiel: lang aus html

Anzahl Zeichen in einem String zählen

$count = $str =~ s/([a-z])/$1/gi;

Anzahl Worte in einem String zählen

$count = $str =~ s/((^|s)S)/$1/g;

Sting in ASCII konvertieren

@ascii = unpack("C*", $string);

JAPH -> 74, 65, 80, 72

Dateiendung entfernen

Alles hinter dem letzten Punkt wird entfernt.

$file =~ s/\.[^.]+$//;

Letztes Vorkommen finden / ersetzen

Ein negatives Lookahead MUSTER(?!.*MUSTER) hilft weiter.

$string = m/P(?!.*P)/
$string = s/P(?!.*P)/A/

PAPA wird PAAA

   $new vor dem letzten Vorkommen von </body> einfügen
   $html =~ s#</body>(?!.*</body>)#$new</body>#im;

Perl Kommentare entfernen

Inhalt einer Zeile nach dem Kommentarzeichen # entfernen. Ein gequotetes Kommentarzeichen bleibt bestehen.
Eine negative Lookbehind Behauptung schafft auch das.  (?<!MUSTER)
In der zweiten Zeile werden die übrig gebliebenen # vom Quotingzeichen befreit.

$string =~ s/(?<!)#.*//;
$string =~ s/#/#/g;

Aus abc#123# xyz wird abc#123

zum Inhalt