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ßeraundb). - 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!)