Perl Regular Expressions
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Veränderung (letzte Änderung) (keine anderen Diffs, Normalansicht)

Hinzugefügt: 70a71,72


KategoriePerl

Eine Variante von RegularExpressions.

Syntax
Keinesfalls vollständig, aber um die SuchFunktionen nutzen zu können schon mal eine Anregung.

Zeichenklassen:
SequenzBedeutung
.jedes beliebige Zeichen
\sleerraumbildende Zeichen ("space")
\SNicht-Leerzeichen
\wwortbildende Zeichen
\Wnichtwortbildende Zeichen
\dDezimalziffer
\DNicht-Dezimalziffer
\bWortgrenze
[abc]eines der in [] angegebenen Zeichen
[a-f]Bereich (Abkürzung für [abcdef]; steht das minus-Zeichen ganz links oder ganz rechts wird es literal aufgefasst)

Literale Sonderzeichen, sie werden durch Backslash escaped
KodierungBedeutung
\\Backslash
\.Punkt
\?Fragezeichen
\*Stern
\+Plus
\|Pipe
\[öffnende eckige Klammer
\]schließende ~
\(öffnende Klammer
\)schließende ~
\{öffnende geschweifte Klammer
\}schließende ~

Quantoren Festlegung über Auftretenshäufigkeiten diese beziehen sich auf den vorangehenden Ausdruck (Zeichen, Code oder geklammerter Ausdruck)
ZeichenBedeutung
?kein oder ein Auftreten
*kein oder beliebige häufiges Auftreten
+ein oder beliebige häufiges Auftreten
{n}genau n-maliges auftreten
{n,m}mindestens n-maliges, maximal m-maliges Auftreten
{n,}minimal n-maliges Auftreten

Elemente kombinieren
MittelWirkung
a|bAlternativen: entweder a oder b
(ab)Gruppierung von Teilmustern a und b nun ein gemeinsamer Unterausdruck (mit Einfangfunktion s.Beispiel)

Beispiele

SuchmusterTreffer
\b\d\d\.\d\d\.\d\d\d\d\bdeutsche Datumsangaben mit vierstelliger Jahreszahl
\b\d{2}\.\d{2}\.\d{4}\bdito, aber andere Schreibweise
\b\d{2}\.\d{2}\.(\d{2}){1,2}\bdito, aber auch 2-stelliges Jahr erlaubt
\bmit\s*[Hh]ilfe\bverschiedene Schreibweisen von "mit Hilfe"

Nun noch ein etwas krasseres Beispiel: Textstellen, die auf ein Muster passen, einfangen. Ein Teilmuster, das durch runde Klammern eingeschlossen ist, speichert, falls es gefunden wird, die zutreffende Textpassage in einer Variablen, hiervon kann es bis 99 geben. Auf diese kann mittels \1 bis \99 zugegriffen werden. So können beispielsweise alle (exakten) Wortdopplungen gesucht werden:

\b(\w+)(\s+\1)+\b


KategoriePerl
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 30. August 2007 11:35 (diff))
Suchbegriff: gesucht wird
im Titel
im Text