Reguläre Ausdrücke sind in der Computerprogrammierung ziemlich häufig. Sie stehen aber auch Endbenutzern zur Verfügung. Wenn Sie beispielsweise mit PowerShell oder dem Befehl Findstr arbeiten, können Sie diese verwenden. Und es gibt Dienstprogramme von Drittanbietern (wie Agent Ransack und EditPad), die reguläre Ausdrücke unterstützen. Da sie in vielen verschiedenen Umgebungen so nützlich sind, habe ich beschlossen, dass ein Tipp über sie angebracht ist.

Ein regulärer Ausdruck ist eine Zeichenfolge, die häufig aus Sonderzeichen besteht und einem Suchmuster entspricht. Wenn wir beispielsweise den Befehl Findstr verwenden, können wir nach dem Wort „document“

suchen unmittelbar gefolgt von einem Komma oder einem Punkt durch Angabe der Suchzeichenfolge „document [,.]“. Die Sonderzeichen in diesem Fall sind die eckigen Klammern, was bedeutet, dass jedes der beiliegenden Zeichen dem Wort „Dokument“ folgen muss.

Es gibt viele Sonderzeichen, die in einem regulären Ausdruck verwendet werden können. Viele davon sind unten aufgeführt:

Character

Description

Match 0 or more characters. Example: haven matches both heaven

and haven.

+

Match 1 or more characters. Example: he+aven matches heaven and

heeaven but not haven.

^

Match what follows only if it’s at the beginning of the string.

Example: if your regular expression is ^document, it will match document

in the string „document the requirements“, but it will not match

anything in the string „this is a requirements document“.

$

Match what precedes only if it’s at the end of the string.

Example: if your regular expression is document$, it will match document

in the string „this is a requirements document“, but it will not match

anything in the string „document the requirements“.

\d

Match a digit. Example: \d matches each digit individually in

the string „my degree is from 1987“. If you want to match all four

digits at once, just repeat the \d like \d\d\d\d.

.

Match any single character. The period is like a wildcard in that

it will match anything.

(a

b)

Um reguläre Ausdrücke in Aktion zu sehen, kombinieren wir einige und verwenden den Befehl Findstr, um Vorkommen von Zeichenfolgen in einer Datei zu finden. Ich habe eine Datei namens Barry.tmp, die den folgenden Text enthält:

Video provides a powerful way to help you prove your point.  When you click Online Video, you can paste in the embed code for  the 20 or 30 videos you want to add. You can also type a keyword  to search online for the video that best fits your document.

Verwenden wir Findstr, um Ziffernfolgen in der Datei zu finden: (Siehe Abbildung 1.)

image

Abbildung 1. Suche nach Ziffernfolgen.

Lassen Sie mich einige andere Konzepte vorstellen. Sie können ein Paar eckige Klammern verwenden, um eine Reihe von Zeichen zu begrenzen, die gefunden werden sollen. Wenn Sie beispielsweise _ [a-z] _ angeben, stimmt dies mit jedem alphabetischen Zeichen überein. Bemerkenswert ist auch, dass Sie das Backslash-Zeichen (\) verwenden, um dem folgenden Zeichen zu „entkommen“ und es wörtlich zu behandeln. Dies ist nützlich, wenn Sie ein Zeichen suchen möchten, das andernfalls als Teil des regulären Ausdrucks behandelt würde. Mit diesen beiden Informationen können wir nun in unserer Datei nach einem alphabetischen Zeichen suchen, gefolgt von einem Punkt, d. H. Zeilen finden, die Satzenden sind: (Siehe Abbildung 2.)

image

Abbildung 2. Suche nach Satzenden.

Lassen Sie mich mit einem Wort der Vorsicht schließen: Nach meiner Erfahrung unterscheidet sich die in der Windows-Befehlszeile verwendete Engine für reguläre Ausdrücke ein wenig von den meisten Engines für reguläre Ausdrücke. Reguläre Ausdrücke, die funktionieren sollten (und die in anderen Dienstprogrammen funktionieren), funktionieren möglicherweise nicht wie erwartet in der Befehlszeile. Wenn Sie also wissen, dass Ihr Kilometerstand variieren kann, experimentieren Sie mit ihnen, aber wetten Sie nicht auf Ihren nächsten Gehaltsscheck, dass das, was Sie eingegeben haben, wie erwartet funktioniert.

Dieser Tipp (1364) gilt für Windows 7, 8 und 10.