Typische Aufgaben für Reguläre Ausdrücke
(
Autor: Ishka & perl.de - Community)
Es gibt einige Aufgabenstellungen, die immer und immer wieder angesprochen
und ständig neu gelöst werden. Um diese Standardaufgaben ein für
allemal für jeden zugänglich zu lösen, sind sie hier
aufgelistet (bzw. Lösungen zu ähnlichen Problemen), allerdings
nicht erklärt:
Wie ersetzte ich alle Leerzeichen, Tabs u.ä. durch Leerzeichen?
$text=~s/\s/ /g; # jedes 'leere' Zeichen in ein Leerzeichen
$text=~s/\s+/ /g; # jede ununterbrochene Folge 'leerer' Zeichen in ein Leerzeichen
Wie lösche ich alles raus, was zwischen <!-- und --> ist?
$text=~s/<!--.*?-->//g;
Wie schreibe ich alles, was zwischen [ und ] steht in ein Array?
@array=$text=~m/[(.*?)]/g;
Wie kann ich bestimmte Muster verdoppeln?
$text=~s/(muster)/$1$1/g;
Wie finde ich raus, wie oft eine bestimmte Zeichenfolge vorkommt?
$anz=$text=~s/(muster)/$1/g;
# oder
$anz=0;
$text=~s/(muster)/$anz++,$1/ge;
Wie kann ich feststellen, ob nichterlaubte Zeichen vorkommen?
if($text=~m/[^a-zA-Z]/){print 'nichterlaubte Zeichen kommen vor'};
Wie lösche ich alle = hinter denen kein > steht?
$text=~s/=(?!>)//g;
Wie wende ich den y/// bzw. tr/// Operator auf Zeichen an, die in einer Variablen stehen?
eval "\$text=~y/$findliste/$ersetzliste/;";
Weitere Ergänzungen zu dieser Liste sind jederzeit erwünscht.
Ergänzungen, Kommentare
Kommentare werden am besten in folgender Form vorgenommen, damit
sie im Inhaltsverzeichnis angezeigt werden:
---### Main.??? - 14 Jul 2003 - Betreff