# Mustererkennung und Substitution # mit der Mustererkennung kann man eine Variable # auf einen bestimmten Inhalt durchsuchen $zuUntersuchen =~ m/<Suchmuster>/<Option>; # Substitution ist ähnlich der Mustererkennung, # außer dass das gefundene Muster ersetzt werden kann $zuErsetzen =~ s/<Suchmuster>/<Ersetzung>/<Option>; # Optionen # g globale Suche, findet/ersetzt alle vorkommenden Muster # i ignoriere Groß-/Klein-Schreibung # o Suchmuster nur beim ersten Durchlauf kompiliert # m behandelt den zu durchsuchenden String # als würde er aus mehreren Zeilen bestehen # s behandelt den zu durchsuchenden Strin # als würde er aus einer Zeile bestehen # x erlaubt Verwendung erweiterter regulärer Ausdrücke # Suchmuster # grundsätzlich kann das Suchmuster aus einem normalen String bestehen # (z.B. "Hallo\tWelt") # folgende Sonderzeichen haben in den regulären Ausdrücken eine # spezielle Bedeutung: . + * ? ^ $ ( ) [ ] { } | \ # um solch ein Zeichen trotzdem zu suchen wird \x verwendet # \d sucht nach einer Ziffer [0…9] # \D sucht nach keiner Ziffer # \w sucht ein Wortzeichen [0…9a…zA…Z_] # \W sucht kein Wortzeichen # \a sucht nach einem Alarm-Zeichen # \e sucht nach einem Escape-Zeichen # \f sucht nach einem Seitenvorschub (Form feed) # \n sucht nach einem Zeilenvorschub (Newline) # \r sucht nach einem Wagenrücklauf (Carriage Return) # \s sucht nach einem Leerzeichen (white Space) und \t \n \r \f # \S sucht nach einem Nicht-WhiteSpace # \t sucht nach einem Tabulator # \b prüft auf eine Wortgrenze # z.B. \bl\wben\b richtig: leben falsch: erleben # laben verloben # loben # \B prüft auf eine Nicht-Wortgrenze # \A prüft auf den Anfang eines Strings # \Z prüft auf das Ende eines Strings # . beliebiges Zeichen (außer \n) # [...] ein Zeichen aus einer Menge # [^...] ein Zeichen nicht aus einer Menge # | trennt alternative Muster # ( ) Gruppierung von Zeichen # Quantifier (Wiederholungsfaktoren) # * Angabe muss mindestens 0 mal vorkommen # + Angabe muss mindestens 1 mal vorkommen # ? Angabe muss höchstens 1 mal vorkommen # {n} Angabe muss genau n-mal vorkommen # {n,} Angabe muss mindestens n-mal vorkommen # {n,m} Angabe muss mindestens n-mal und höchstens m-mal vorkommen