

Verwenden von Masken zur Angabe von Mustern in Zeichenfolgen › Beispielmaske
Beispielmaske
Das folgende Muster ermöglicht ein genaues Filtern der Ausgabe des DIR-Befehls in der Windows-Befehlsshell:
([0-9]{2}/){2}[0-9]{2} *[0-9]{2}:[0-9]{2}(a|p) *[0-9,]+ [_~0-9a-zA-Z ]*(\.[_0-9a-zA-Z ]*)?
Die folgenden Zeilen entsprechen diesem Muster:
10/26/05 07:03p 134.217.723 pagefile.sys
10/26/05 07:03p 1.024 testfile
Die vorangehenden Zeilen bestehen aus den folgenden Elementen:
- ([0-9]{2}/) entspricht Zeichenfolgen, die aus zwei Ziffern und einem Schrägstrich (/) bestehen, wie in "10/".
- ([0-9]{2}/){2}[0-9]{2} basiert auf dem vorherigen Element und gibt an, dass die aus 2 Ziffern bestehende Sequenz 3 Mal wiederholt werden kann, wobei jede Sequenz durch einen Schrägstrich von der nächsten getrennt wird, wie in "10/26/05".
- *[0-9]{2}:[0-9]{2}(a|p) entspricht einer beliebigen Anzahl von Leerzeichen, auf die die Uhrzeit im Format hh:mm sowie "a" für AM oder "p" für PM folgen.
- *[0-9,]+ entspricht einer beliebigen Anzahl von Leerzeichen, auf die beliebig viele Ziffern und Kommas für die Dateigröße folgen.
- [_~0-9a-zA-Z]*(\.[_~0-9a-zA-Z]*)? entspricht einer Sequenz von alphanumerischen Zeichen, Unterstrichen (_) und Tilden (~), auf die optional ein Punkt sowie eine weitere Sequenz folgen. Weil der Punkt (.) der Punktoperator ist, muss das Escape-Zeichen (\) vor ihn gesetzt werden, wenn er als Zeichen abgeglichen werden soll.
Das Muster in einer Maske kann je nach den genauen Zeichen, die abgeglichen werden sollen, unterschiedlich sein. Zum Beispiel könnte [\._~0-9a-zA-Z ]* an Stelle von [_~0-9a-zA-Z]*(\.[_~0-9a-zA-Z]*)? ebenfalls den Dateinamen in den vorherigen Beispielausgaben entsprechen. Dieser Ausdruck würde aber keine Einschränkung hinsichtlich der Anzahl von Punkten (.) in Dateinamen bedingen.
Copyright © 2013 CA.
Alle Rechte vorbehalten.
 
|
|