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