Reguläre Ausdrücke in Microsoft Word
20. Dezember 2006 von Wolfgang SommergutOffiziell gibt es den Begriff „Reguläre Ausdrücke“ in Word gar nicht. Im Dialog Suchen und Ersetzen ist die Rede von Platzhalterzeichen verwenden
. Faktisch handelt es sich dabei um eine Mustererkennung, die sich an den Regex orientiert, aber viel weniger kann und sich zudem syntaktisch in einigen entscheidenden Punkten davon unterscheidet. Wer sich an Regex-Impelemtierungen von Perl oder vi gewöhnt hat, dem legt Word einige böse Stolpersteine in den Weg.
Ich habe mir heute längste Zeit den Kopf darüber zerbrochen, warum der Ausdruck [0-9]*;[0-9]*
auf eine Zeichenkette zutreffen kann, die Groß- und Kleinbuchstaben enthält. Des Rätsels Lösung: Der ‚*‘ ist kein Quantifizierer, sondern ein Platzhalter für beliebige Zeichen, also äquivalent zu „.*“. Die Funktion des Sternchens übernimmt bei Word der Klammeraffe, ich hätte also [0-9]@;[0-9]@ schreiben müssen. Nachdem Microsoft für seine Office-Software schon seit geraumer Zeit eine neue Offenheit propagiert, wäre nach der XML-Unterstützung und den Web-Services die Integration einer vernünftigen Regex-Engine überfällig. Open Office macht das schon lange vor.
Kategorie: Windows Kommentare deaktiviert für Reguläre Ausdrücke in Microsoft Word