===== Erste Beispiele ===== Um das Thema Reguläre Ausdrücke nicht gleich theoretisch anzugehen, werden im folgenden ein paar kleine, einfache Beispiele für konkrete reguläre Ausdrücke gezeigt und beschrieben. Damit sollte die hinter den regulären Ausdrücken stehende Idee der Mustererkennung relativ leicht fassbar werden. === Regulärer Ausdruck === (red)Rechnung(blk) * Der Ausdruck erkennt das Wort 'Rechnung', wenn es alleine in einer Zeile oder in einem Textfragment steht. === Regulärer Ausdruck === (red).*Rechnung(blk) * Der Ausdruck erkennt das Wort 'Rechnung', wenn es am Ende einer Zeile oder eines Textfragments steht. Der Teilausdruck '.%%*'%% bedeutet, es kann ein beliebiges Zeichen beliebig oft wiederholt werden. Der Ausdruck erkennt also auch ' Rechnung', 'Abschluß-Rechnung' und natürlich auch wieder 'Rechnung'. === Regulärer Ausdruck === (red).*Rechnung.*(blk) * Wieder erkennt der Ausdruck das Wort 'Rechnung' innerhalb einer Zeile oder eines Textfragments. Der Unterschied zu den vorherigen Beispielen, ist der, daß das Wort jetzt irgendwo innerhalb der Zeichenkette erkannt wird. Also auch in '3. Rechnung vom 17.10.2008' oder ' Rechnung '. Der Ausdruck erkennt übrigens nur das letzte Vorkommen des Worts! === Regulärer Ausdruck === (red).* ###,## €(blk) * Der Ausdruck erkennt einen dreistelligen Geldbetrag in Euro am Ende einer Zeile oder eines Textfragments. Dabei steht das '#'-Zeichen für eine beliebige Dezimalziffer. Der Ausdruck verlangt dabei immer einen dreistelligen Betrag vor dem Komma. === Regulärer Ausdruck === (red).* #+,## €(blk) * Der Ausdruck erkennt diesmal einen beliebig großen Geldbetrag, weil das Pluszeichen hinter der ersten Ziffer eine einmalige oder beliebig häufige Wiederholung erlaubt. Der Ausdruck erkennt ' 0,00 €' genauso wie ' 1234,56 €'. Er erkennt aber natürlich nicht ' 1.234,56 €' (ein Ausdruck dafür findet sich übrigens im Kapitel 'Weitere Beispiele'). === Regulärer Ausdruck === (red).{10}Rechnung.*(blk) * Dieser Ausdruck benutzt in den geschweiften Klammern einen Wiederholungsfaktor, der besagt, daß vor dem Wort 'Rechnung' genau zehn beliebige Zeichen stehen müssen. Was hinter dem Wort 'Rechnung' steht, ist beliebig. Dies ist im Prinzip nichts weiter als die Aussage, das Wort 'Rechnung' beginnt in Spalte elf. === Regulärer Ausdruck === (red)Frau|Herr|Firma(blk) * Der Ausdruck prüft, ob auf einer Zeile oder in einem Textfragment eines der Worte 'Frau', 'Herr' oder 'Firma' steht. Vor oder hinter einem der Worte darf nichts weiter stehen. === Regulärer Ausdruck === (red).*(Frau|Herr|Firma).*(blk) * Reguläre Ausdrücke haben eine gewisse Ähnlichkeit zu mathematischen Formeln. Dort gibt es zum Beispiel Vorangregeln wie 'Punkt vor Strich', die das Zusammenwirken von Operatoren regeln. Falls man andere Reihenfolgen wünscht, muß man Klammern setzen. Das ist hier genauso. Jetzt kann eines der Worte irgendwo innerhalb der Zeile oder des Textfragments auftreten. Ohne die Klammern dürfte vor 'Frau' etwas stehen, 'Herr' müßte alleine stehen und auf 'Firma' dürfte etwas folgen. \\ Diese einfachen Beispiele sollten erst einmal genügen, um einen ersten Eindruck davon zu bekommen, um was es bei Regulären Ausdrücken und dem Thema Mustererkennung geht.