|
Startseite
>
6. Reguläre Ausdrücke
>
6.1. Muster
|
Zurück
Vor
|
|
|
|
|
Ein regulärer Ausdruck wird in der Regel durch "// eingeschlossen. Er kann im
Context von
Zuweisungen oder Vergleichen eingesetzt werden. Der zwischen den "//" befindliche String
beschreibt ein Muster gegen das geprüft wird. Das Muster besteht aus den folgenden
Bestandteilen:
|
Muster
|
Beschreibung
|
Beispiel
|
Matched auf
|
|
string
|
Zeichenkette
|
/abc/
|
abc
|
|
.
|
beliebiges Zeichen ausser "\n"
|
/a.c/
|
aac, abc, acc, a1c, ...
|
|
[zeichenmenge]
|
eine Zeichen aus der Menge
|
/[abc]/
/[a-d]/
|
a, b, c
a, b, c, d
|
|
[^zeichenmenge]
|
nicht in der Menge
|
/[^aeiou]/
|
b, c, d, f, g, h,...
|
|
*
|
null oder mehrmals das "Vorhergehende"
(gierig!)
(*? ist nicht gierig)
|
/ab*c/
|
ac, abc, abbc, abbbc,
abbbbbc...
|
|
+
|
ein oder mehrmals das "Vorhergehende"
|
/ab+/
|
ab, abb, abbb, abbbbb...
|
|
?
|
null oder einmal das "Vorhergehende"
|
/ab?/
|
a, ab
|
|
{m,n}
|
zwischen m- und n-mal das
"Vorhergehende"
|
/ab{2,4}/
|
abb, abbb, abbbb
|
|
(gruppe)
|
Fasst ein Muster zusammen, so dass es
refereziert werden kann (mit \1, \2 usw.)
|
/(abc)*/
/a(.)b(.)c\2d\1/
|
abc, abcabc, abcabcabc,...
axbycydx, aVbWcWdV
|
|
|
|
Alternative
|
/ernie|bert/
|
ernie, bert
|
|
^
|
Ausrichtung am Anfang der Zeile
|
/^abc/
|
Zeilen, die mit abc beginnen
|
|
$
|
Ausrichtung am Ende der Zeile
|
/abc$/
|
Zeilen, die mit abc enden
|
|
/START/../ENDE/
|
Alle Zeilen zwischen START und ENDE
(inkl. der beiden "Tag"-Zeilen
|
/aa/../bb/
|
aa
adadada
bb
|
|
/START/.../ENDE/
|
Alle Zeilen zwischen START und ENDE -
beide Tags müssen aber in
unterschiedlichen Zeilen stehen
|
/aa/.../bb/
|
aaa
dfasf
bb
|
Zeichenmengen können mit den folgenden Zeichen abgekürzt werden:
|
Abkürzung
|
Zeichenmenge
|
|
\d
|
Ziffern [0-9]
|
|
\w
|
Zeichen [0-9A-Za-z_]
|
|
\s
|
Whitespace (Leerzeichen, Tab, \n, \r, \f)
|
|
\n
|
Zeilenumbruch
|
|
\D
|
Keine Ziffer
|
|
\W
|
Kein Zeichen
|
|
\S
|
Nicht Whitespace
|
|
\\
|
Back-Slash
|
|
\/
|
Slash
|
Wenn eine anderes Trennzeichen als // zur Begrenzung benutzt werden soll, kann mit
dem
Operator "m" ein anderes Muster definiert werden. Z.B.:
m#abc#
m@abc@
/abc/
|
|
|
|
|