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/&lt;!--.*?--&gt;//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/=(?!&gt;)//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
      

UtilFaqSubForm edit

Titel Typische Aufgaben für Reguläre Ausdrücke
Autor Ishka & perl-community
Bereich FaqStrings
Topic revision: 2003-10-01, TinaMueller
 
Bitte die NutzungsBedingungen beachten.
Bei Vorschlägen, Anfragen oder Problemen mit dem PerlCommunityWiki bitten wir um WebBottomBarExample">Rückmeldung.