Fast alle Metazeichen (einschließlich des Punktes .
, das +
, *
und ?
Quantifizierer, der End-of-String-Anker $
, usw.) haben in Zeichenklassen keine besondere Bedeutung, mit einigen bemerkenswerten Ausnahmen:
- schließende Klammer
]
, aus offensichtlichen Gründen - Caret
^
, die verwendet wird, um die Zeichenklasse zu negieren (zB:[^ab]
entspricht jedem Zeichen außera
undb
). - Bindestrich
-
, das verwendet wird, um einen Bereich zu bezeichnen (z. B.:[0-9]
passt zu jeder Ziffer)
Diese können jedoch immer noch ohne Escapezeichen hinzugefügt werden, wenn sie an strategischen Stellen innerhalb der Charakterklasse platziert werden:
- Die schließende Klammer kann direkt nach der öffnenden Klammer stehen, zB:
[]a]
stimmt mit]
überein odera
. - das Caretzeichen kann überall außer platziert werden nach der öffnenden Klammer, zB:
[a^]
stimmt mit^
überein odera
- Der Bindestrich kann direkt nach der öffnenden Klammer oder vor der schließenden Klammer stehen, zB:
[-a]
und[a-]
beide stimmen mita
überein und-
.
Weitere Informationen finden Sie in der Manpage zu POSIX regex
(Dank Tomalak Geret'kal!)