Zum Hauptinhalt springen

Perl - Regular Expressions

 1# Mustererkennung und Substitution
 2    # mit der Mustererkennung kann man eine Variable
 3    # auf einen bestimmten Inhalt durchsuchen
 4    $zuUntersuchen =~ m/<Suchmuster>/<Option>;
 5
 6    # Substitution ist aehnlich der Mustererkennung,
 7    # ausser dass das gefundene Muster ersetzt werden kann
 8    $zuErsetzen =~ s/<Suchmuster>/<Ersetzung>/<Option>;
 9    
10    # Optionen
11        # g         globale Suche, findet/ersetzt alle vorkommenden Muster
12        # i         ignoriere Gross-/Klein-Schreibung
13        # o         Suchmuster nur beim ersten Durchlauf kompiliert
14        # m         behandelt den zu durchsuchenden String
15        #           als wuerde er aus mehreren Zeilen bestehen
16        # s         behandelt den zu durchsuchenden Strin
17        #           als wuerde er aus einer Zeile bestehen
18        # x         erlaubt Verwendung erweiterter regulaerer Ausdruecke
19    
20    
21    # Suchmuster
22        # grundsaetzlich kann das Suchmuster aus einem normalen String bestehen
23        # (z.B. "Hallo\tWelt")
24        # folgende Sonderzeichen haben in den regulaeren Ausdruecken eine
25        # spezielle Bedeutung: . + * ? ^ $ ( ) [ ] { } | \
26        # um solch ein Zeichen trotzdem zu suchen wird \x verwendet
27        
28        # \d        sucht nach einer Ziffer [0...9]
29        # \D        sucht nach keiner Ziffer
30        # \w        sucht ein Wortzeichen [0...9a...zA...Z_]
31        # \W        sucht kein Wortzeichen
32        # \a        sucht nach einem Alarm-Zeichen
33        # \e        sucht nach einem Escape-Zeichen
34        # \f        sucht nach einem Seitenvorschub (Form feed)
35        # \n        sucht nach einem Zeilenvorschub (Newline)
36        # \r        sucht nach einem Wagenruecklauf (Carriage Return)
37        # \s        sucht nach einem Leerzeichen (white Space) und \t \n \r \f
38        # \S        sucht nach einem Nicht-WhiteSpace
39        # \t        sucht nach einem Tabulator
40        # \b        prueft auf eine Wortgrenze
41        #           z.B. \bl\wben\b richtig: leben falsch: erleben
42        #                                    laben         verloben
43        #                                    loben
44        # \B        prueft auf eine Nicht-Wortgrenze
45        # \A        prueft auf den Anfang eines Strings
46        # \Z        prueft auf das Ende eines Strings
47        # .         beliebiges Zeichen (ausser \n)
48        # [...]     ein Zeichen aus einer Menge
49        # [^...]    ein Zeichen nicht aus einer Menge
50        # |         trennt alternative Muster
51        # ( )       Gruppierung von Zeichen
52    
53    
54    # Quantifier (Wiederholungsfaktoren)
55        # *         Angabe muss mindestens 0 mal vorkommen
56        # +         Angabe muss mindestens 1 mal vorkommen
57        # ?         Angabe muss hoechstens 1 mal vorkommen
58        # {n}       Angabe muss genau n-mal vorkommen
59        # {n,}      Angabe muss mindestens n-mal vorkommen
60        # {n,m}     Angabe muss mindestens n-mal und hoechstens m-mal vorkommen