se_10_regulaere_ausdruecke.ppt1 Softwareengineering Reguläre Ausdrücke (regular expressions) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law
se_10_regulaere_ausdruecke.ppt2 Werden gebraucht zu... -Mustererkennung in Zeichenketten -Ersetzen komplexer Muster (Pattern)
se_10_regulaere_ausdruecke.ppt3 Pattern Syntax Erstes und letztes Zeichen des Patterns sind frei wählbar und bezeichnen Anfang und Ende des Patterns (in PHP, in Java bleiben diese Zeichen weg) Normalerweise nimmt dafür oder "\", je nachdem, ob diese Zeichen nicht im Pattern selbst auftauchen. Innerhalb des Patterns bezeichnen die Zeichen sich selbst (Ausnahmen siehe später), also findet z.B. eine Zeichenkette, die "a" enthält findet eine Zeichenkette, die "axel" enhält. Der Punkt "." bezeichnet ein beliebiges Zeichen findet abbaUabba, abbaOabba usw. Der Stern "*" bedeutet, dass das zuvor stehende Zeichen 0 Mal oder beliebig auf auftauchen kann Das Fragezeichen "?" bedeutet, dass das zuvor stehende Zeichen 0 oder ein Mal auftauchen kann findet jede Zeichenkette, die zweimal "abba" enthält
se_10_regulaere_ausdruecke.ppt4 Quotieren Wird ein Zeichen gesucht, das eine Sonderbedeutung hat (Metazeichen), wie z.B. "." oder "*", dann wird das Zeichen im Patter über Backslash "\" quotiert. findet einen Punkt findet eine Stern findet einen Backslash
se_10_regulaere_ausdruecke.ppt5 Reguläre Ausdrücke in PHP
se_10_regulaere_ausdruecke.ppt6 Reguläre Ausdrücke in Java
se_10_regulaere_ausdruecke.ppt7 Weitere Metazeichen ^ bedeutet den Anfang des durchsuchten Strings $ bedeutet das Ende des durchsuchten Strings findet NUR "axel" nicht "axela" oder "yaxel" PHP: (var_dump dient nur Ausgabe, ähnlich wie "echo"): Java:
se_10_regulaere_ausdruecke.ppt8 Weitere Metazeichen Zeichenmengen werden mit [ ] angegeben, [AB] findet A oder B [A-Z] findet alle Buchstaben von A bis Z (aber nur große!) [A-Za-z] findet Groß- und Kleinbuchstaben von A bis Z [0-9] findet Ziffern [^0-9] findet alle Zeichen AUSSER Ziffern! Beispiel: Erkennen von HTML Color codes: \s findet Whitespaces (Carriage Return, Newline, " ", Tabulator....) \n findet Newline, \r Carriage Return (Achtung: In Windows ist der Zeilenumbruch \r\n, in Unix \n) \t findet Tabulator
se_10_regulaere_ausdruecke.ppt9 Rückgabe des gefundenen Patterns In PHP wird das gefundene Pattern an den Index 0 eines Arrays geschrieben, das dem Aufruf mitgegeben wird: $ergebnis[0] enthält "hallo". In Java gibt die Methode "group" des Matchers das das letzte gefunden Pattern zurück.
se_10_regulaere_ausdruecke.ppt10 Subpattern
se_10_regulaere_ausdruecke.ppt11 Replacements