Reguläre Ausdrücke
michilee
- sonstiges
Hallo Forum,
ich lerne zurzeit wieder, bzw. frische wieder Reguläre Ausdrücke auf:
Zitat:
Was ist an dem \ jetzt so besonders mitten in einer Zeichenkette?
Der Backslash dient als Escape-Zeichen und nimmt einem nachfolgenden Sonderzeichen seine Sonderbedeutung. Er erzwingt, dass das nachfolgende Zeichen einfach "wörtlich" genommen wird.
Mit \* könnte ich sagen, dass das * als Zeichen erkannt werden soll.
[a-z\*]
1. Heißt, alle Kleinbuchstaben von a bis z und das Zeichen *. Richtig?
Aber im folgenden Fall nimmt er das "d" ja nicht wörtlich:
[a-z\dABC]
Also, entweder alle Kleinbuchstaben von a-z, eine Zahl \d (digit) oder A, B, C.
2. Könnte man mir evtl. noch kleine Beispiele zu folgenden Begriffen geben:
3. Habe die Bedeutung von \i jetzt nicht mehr gefunden, um die äquivalententen Ausdrücke unten zu verstehen
/[^abc]/ <--> /((?i)[^abc])/ <-> /[^abc]/i
Vielen Dank, wünsche allen noch einen schönen Sonntag
Grüßchen
Zitat:
Was ist an dem \ jetzt so besonders mitten in einer Zeichenkette?
Der Backslash dient als Escape-Zeichen und nimmt einem nachfolgenden Sonderzeichen seine Sonderbedeutung. Er erzwingt, dass das nachfolgende Zeichen einfach "wörtlich" genommen wird.
Ich ergänze
Ein Backslash gibt einem Buchstaben eine Sonderbedeutung
\b \B \s \S \p{L} \P{L} \w \W \s \S \x15
\A \Z \z
\Q \E
Sonderzeichen ausserhalb der REs behalten in REs ihre Gültigkeit
\n \r \t
In einer Zeichenklasse [] müssen nur folgende Zeichen maskiert werden, um ihnen die Sonderbedeutung zu nehmen.
[[]] Matche die []
[+-=] - ist ein Range-zeichen, muss also maskiert werden, wenn als Ziechen zu verwenden, mit ausnahme, wenn es das letzte Zeichen der Zeichenklasse ist.
/[.]/ matcht wärtlich den Punkt
/./ matcht wärtlich den Punkt
/./ matcht irgend ein Zeichen ausser \n
Ein Backslash muss immer escaped werden um ihn als literal zu matchen
/\/
/[\]/
mfg Beat
Hi Beat, vielen Dank
Oki, habe fast alles verstanden, was du geschrieben hast.
Ich ergänze
Ein Backslash gibt einem Buchstaben eine Sonderbedeutung
\b \B \s \S \p{L} \P{L} \w \W \s \S \x15
\A \Z \z
\Q \E
Oki, entweder kann ich maskieren oder das danach als Sonderbedeutung nehmen.
\d als Bsp. wären digits, also Zahlen.
Was die oberen machen, müsste ich nachschlagen.
Sonderzeichen ausserhalb der REs behalten in REs ihre Gültigkeit
\n \r \t
Das habe ich nicht ganz verstanden, wie außerhalb ihre Gültigkeit?
Den Rest habe ich verstanden :-)
Grüße