Dies ist eine alte Version des Dokuments!
Reguläre Ausdrücke
Hier ein kleiner Auszug aus den Möglichkeiten von regulären Ausrücken (regular expressions):
- ^ alleinstehend steht es für den Anfang einer Zeichenkette
- . steht für ein beliebiges Zeichen
- + das vorhergehende Zeichen muss mindestens einmal vorkommen (folglich steht .+ für eine beliebige Zeichenkette mit mindestems einem Zeichen)
- * das vorhergehende Zeichen kann kein Mal bis beliebig oft vorkommen (folglich steht .* für eine beliebige Zeichenkette)
- [abc] eines der Zeichen in den Klammern muss anstelle des Klammer-Ausdrucks vorkommen („a[12]b“ passt somit zu „a1b“ und „a2b“)
- [^abc] keines der Zeichen in den Klammern darf anstelle des Klammer-Ausdrucks vorkommen („a[^12]b“ passt somit nicht zu „a1b“ und „a2b“, aber zu „a3b“)
- [a-c] eines der Zeichen im angegebenen Bereich muss anstelle des Klammer-Ausdrucks vorkommen („a[1-3]b“ passt somit zu „a1b“, „a2b“ und „a3b“, aber nicht zu „a4b“)
- [^a-c] keines der Zeichen im angegebenen Bereich darf anstelle des Klammer-Ausdrucks vorkommen
- ? das voranstehende Zeichen darf höchstens einmal vorkommen („a?b“ passt somit zu „ab“ und „b“, aber nicht zu „aab“).
- \ sorgt vor einem Sonderzeichen dafür, das selbiges als Zeichen interpretiert wird. Zusammen mit bestimmten Buchstaben (\n oder \d) auch für besondere Zeichen.
- \d Das Zeichen muss eine Ziffer sein.
- \D Das Zeichen darf ein beliebiges Zeichen außer einer Ziffer sein.
- \w Das Zeichen muss aus folgender Menge stammen „0“ bis „9“, „A“ bis „Z“, „a“ bis „z“ und „_“.
Sollen Sonderzeichen nicht als Steuerzeichen intepretiert werden, sondern als normale Zeichen, so muss ein „\“ vorangestellt werden (in Java-String durch ein doppeltes „\\“ einzugeben).
Kleines Java-Beispiel:
String str = "hallo.txt"; System.out.println(str.matches("^hallo\\..*")); // true; entspricht einem "hallo.*"
Ausführliche Infos (in engl.) finden sich unter:
http://www.regular-expressions.info