Perl Regular Expressions (Reguläre Ausdrücke)
unter besonderer Berücksichtigung der Index-Suche im WWW.
Normale Zeichen: Buchstaben A-Za-z, Ziffern 0-9, einige
Sonderzeichen wie _-,' . Jedes Sonderzeichen erhält bei Perl (!)
seine normale Bedeutung als Zeichen, wenn ein "Backslash" \
vorangestellt wird.
Anm.: Bei der Index-Suche im WWW (cgi-bin)
wird das Leerzeichen ' ' intern durch ein Pluszeichen '+'
ausgetauscht. Das Leerzeichen ist als \40 oder
\s einzugeben, das Pluszeichen als \+ ,
ein Punkt entsprechend als \. . Man erhält die komplette
Liste, wenn man nur einen Punkt '.' in das Suchfeld eingibt.
Suche: Meta-Zeichen mit besonderer Bedeutung
- ^
- Zeilenanfang (Bsp.: ^Anfang)
- $
- Zeilenende (Bsp.: Ende$)
- |
- Alternative ("oder", Bsp.: Chemie|Physik)
- .
- beliebiges Zeichen (außer der Zeilenendmarkierung)
- *
- Wiederholung des letzten Zeichens (einschließlich keinmal,
das Zeichen braucht also gar nicht vorhanden zu sein)
- .*
- beliebige Zeichenkette (Bsp.: ^.*$ paßt für
jede beliebige Zeile)
- +
- Wiederholung des letzten Zeichens (mindestens einmal vorhanden)
- ?
- das letzte Zeichen muß einmal oder gar nicht auftreten
- {n} {n,m}
- das letzte Zeichen muß n mal bzw. n bis
m mal auftreten (Bsp.: W{3} entspricht WWW)
- \w
- alphanumerisches Zeichen einschließlich _
- \W
- nichtalphanumerisches Zeichen (einschließlich Leerstelle)
- \b
- Wortgrenze ("boundary", Bsp.: \bin\b das Wort 'in')
- \B
- keine Wortgrenze ("non-boundary")
- \d
- Ziffer
- \D
- keine Ziffer
- \s
- Zwischenraum ("whitespace")
- \S
- kein Zwischenraum ("non-whitespace")
- [...]
- Zeichenklasse, z.B. [A-H] Buchstabe A bis H
- [^...]
- Ausschluß einer Zeichenklasse, z.B. [^A-H]
irgendein Zeichen außer einem Buchstaben A bis H
- \n \r \f \t \nnn
- LF CR FF HT Octal-Code
- (...)
- Markierung einer Unterkette (substring). Innerhalb eines Musters
kann man (z.B.) mit \1 darauf Bezug nehmen, außerhalb mit $1
(allgemein \n bzw. $n).
Beispiele für die WWW-Index-Suche
- .
- Ausgabe der kompletten Liste (ein beliebiges Zeichen wird gesucht)
- \bFU\b
- 'FU' als Wort
- Chemie|Physik
- 'Chemie' oder 'Physik'
- Chemie.*Physik|Physik.*Chemie
- 'Chemie' und 'Physik' (in beliebiger Reihenfolge)
- ftp.server
- ftp\Wserver
- paßt z.B. für 'ftp-server' oder 'ftp server'
- ftp\sserver
- paßt nur für 'ftp server'
- W{3}
- (W)\1\1
- steht für WWW
- behaviou?r
- paßt für 'behavior' oder 'behaviour'
Suchen und ersetzen
- $n
- n-te Unterzeichenkette (Substring, "bracket")
- $+
- letzte passende Unterzeichenkette (Substring, "bracket")
- $&
- gesamte passende Zeichenkette
- $\'
- alles vor der passenden Zeichenkette
- $'
- alles nach der passenden Zeichenkette
Burkhard Kirste, 1994/04/12