5.3. Zeichenklassen
Es können sogenannte Zeichenklassen definiert werden, indem eine Liste von Zeichen, eingeschlossen in eckige Klammern [], angegeben wird. So eine Zeichenklasse findet genau eines der aufgelisteten Zeichen Zeichen im Zielstring.
Falls das erste aufgelistete Zeichen, das direkt nach dem [, ein ^ ist, findet die Zeichenklasse jedes Zeichen ausser denjenigen in der Liste.
Ausdruck |
Beschreibung |
---|---|
foob[aeiou]r | findet die Strings 'foobar', 'foober' etc. aber nicht 'foobbr', 'foobcr' etc. |
foob[^aeiou]r | findet die Strings 'foobbr', 'foobcr' etc. aber nicht 'foobar', 'foober' etc. |
Innerhalb der Liste kann das Zeichen - benutzt werden, um einen Bereich oder eine Menge von Zeichen zu definieren. So definiert a-z alle Zeichen zwischen a and z inklusive.
Falls das Zeichen - selbst ein Mitglied der Zeichenklasse sein soll, dann kann es als erstes oder letztes Zeichen in der Liste verwendet werden oder escaped werden, indem ein \ vorangestellt wird. Wenn das Zeichen ] ebenfalls Mitglied der Zeichenklasse sein soll, dann setze kann es als erstes Zeichen in der Liste verwendet werden oder ebenfalls escaped werden.
Ausdruck |
Beschreibung |
---|---|
[-az] | findet 'a', 'z' und '-' |
[az-] | findet 'a', 'z' und '-' |
[a\-z] | findet 'a', 'z' und '-' |
[a-z] | findet alle 26 Kleinbuchstaben von 'a' bis 'z' |
[\n-\x0D] | findet eines der Zeichen #10, #11, #12 oder #13. |
[\d-t] | findet irgendeine Ziffer, '-' oder 't'. |
[]-a] | findet irgendein Zeichen von ']'..'a'. |