Reguläre Ausdrücke ermöglichen die Suche nach Zeichenketten in Text, z. B. nach bestimmten Zeichen, Wörtern oder Zeichenketten, die einem bestimmten Muster entsprechen.
In Model Review werden sie unter anderem häufig in Verbindung mit der Einhaltung von Namenskonventionen oder zum Sortieren von Beschriftungstexten im Projektmodell anhand sehr präziser Angaben verwendet.
Sonderzeichen in regulären Ausdrücken ermöglichen es, den zu suchenden Text flexibler zu definieren. Die folgenden Sonderzeichen werden verwendet:
+ * ? . [ ] ^ ( ) | \
In den folgenden Abschnitten wird die Verwendung der einzelnen Sonderzeichen beschrieben:
Mithilfe eines Punkts (".") können Sie nach einem beliebigen einzelnen Zeichen suchen.
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
390-. |
Findet die Zeichenfolge "390-" und ein beliebiges folgendes Zeichen. |
390-A, 390-1, 390-- |
390-A1, 1390-1 |
Änderung . Veröffentlicht |
Findet die Zeichenkette "Änderung", ein beliebiges folgendes Zeichen und dann die Zeichenkette "Veröffentlicht". |
Änderung A Veröffentlicht Änderung 1 Veröffentlicht Änderung # Veröffentlicht |
Änderung A1 Veröffentlicht ÄnderungAVeröffentlicht |
Eckige Klammern ("[ ]") definieren eine Zeichenklasse und vergleicht jedes beliebige einzelne Zeichen mit den durch die Klammern eingeschlossenen Zeichen. Innerhalb der Klammern verlieren alle Sonderzeichen ihre Bedeutung. Ausgenommen davon ist "^"; wenn dieses Zeichen in einer Klammer als erstes Zeichen verwendet wird, hat es die Bedeutung NICHT für die danach angegebenen Zeichen.
In eckigen Klammern können auch Wertebereiche angegeben werden.
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
[akm] |
Ein Zeichen: a, k oder m |
a, k, m |
Akm, ak, G |
[a-z] |
Ein beliebiger Buchstabe |
A, b, c, d |
1, 2, -, # |
[^akm] |
Ein beliebiger Buchstabe mit Ausnahme von a, k oder m. |
C, f, G, Am (da es sich um zwei Zeichen handelt) |
A, k, m |
[0-9] |
Eine beliebige Ziffer |
0, 4, 7 |
A, #, z |
[a-z][a-z] |
Zwei beliebige Buchstaben |
AB, BC, DE |
A (nur ein Buchstabe) A1 12 |
Ein Asterisk (*) wird einem Ausdruck nachgestellt und gibt an, dass der vorhergehende Ausdruck gar nicht, einmal oder mehrmals auftreten kann.
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
Ab*c |
"A", danach null bis mehrere "b", am Ende ein "c". |
Ac Abc Abbbbbbbc |
Bbb Abcd |
[a-z]* |
Eine beliebige Anzahl beliebiger Buchstaben (gleichbedeutend mit "nur Buchstaben", wobei "keine Buchstaben" inbegriffen ist) |
A Bob AAAAA Stahl <Leer> (da * auch für null Vorkommnisse stehen kann) |
STAHL230 12 AA-## |
Ein Pluszeichen (+) wird einem Ausdruck nachgestellt und gibt an, dass der vorhergehende Ausdruck einmal oder mehrmals auftreten kann.
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
Ab+c |
"A", danach ein oder mehrere "b", am Ende ein "c". |
Abc Abbbbbbbc |
Ac Bbb Abcd |
[a-z]+ |
Eine beliebige Anzahl beliebiger Buchstaben (gleichbedeutend mit "nur Buchstaben") |
Bob AAAAA Stahl |
STAHL230 12 AA-## <Leer> |
Ein Fragezeichen ("?"): Wird einem Ausdruck ein Fragezeichen (?) nachgestellt, bedeutet dies, dass dieser Ausdruck stehen kann, aber nicht muss.
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
Ab?c |
"A", danach möglicherweise ein "b", am Ende ein "c" |
Ac Abc |
Abbc Abcd |
390-[a-z][a-z]? |
"390-", danach ein Buchstabe und eventuell ein zweiter Buchstabe |
390-A 390-AB |
390-11 390- 390-ABC |
Das Pipe-Zeichen (|) ist ein logisches OR zwischen zwei Ausdrücken (normalerweise in Klammern).
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
(390|241)-[a-z]+ |
Entweder "390" oder "241", danach ein "-" und ein oder mehrere Buchstaben |
390-A 241-A 241-AB |
200-A 241 241- |
Gemäß (MS2377|CS123) |
"Gemäß", danach entweder "MS2377" oder "CS123" |
Gemäß MS2377 Gemäß CS123 |
Gemäß Gemäß MS3222
|
390-([abc]|[123]) |
"390-", danach einer der Buchstaben "a", "b" oder "c" ODER eine der Ziffern "1", "2" oder "3". |
390-A 390-3 |
390-F 390- |
Wenn Sie nach einem Zeichen suchen müssen, das als Sonderzeichen definiert ist, können Sie diesem einen Backslash voranstellen und dadurch Model Review anweisen, das Zeichen ausnahmsweise nicht als Sonderzeichen, sondern als normales Zeichen (Literal) zu interpretieren.
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
[0-9]\+ |
Eine Ziffer, der ein Pluszeichen (+) folgt. |
1+ 2+ |
1 A 1+1 |
Was\? |
Das Wort "Was", danach ein Fragezeichen |
Was? |
Was ist passiert? |
Eine häufig vorkommende Aufgabe in Model Review ist die Verwendung bestimmter Werte, mit denen eine Zeichenkette beginnt oder endet. Diese Syntax ist eventuell ungewohnt für Benutzer, die mit regulären Ausdrücken, wie sie in Suchfunktionen vorkommen, vertraut sind. Die empfohlene Vorgehensweise besteht darin, am Anfang oder Ende des Ausdrucks ein ".*" oder ".+" zu setzen, um die Bedeutung "Beginnt mit" bzw. "Endet mit" zu erzielen.
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
390-.* |
Beginnt mit "390-" (endet mit beliebigen Zeichen einschließlich kein Zeichen). |
390-1 390-111 |
1390-1 |
390-.+ |
Beginnt mit "390-" (endet mit beliebigen Zeichen, wobei jedoch mindestens ein Zeichen vorhanden sein muss). |
390-1 390-111 |
1390-1 390- |
.*-[a-z] |
Endet mit "-" und einem Buchstaben (beginnt mit beliebigen Zeichen einschließlich kein Zeichen). |
Änderung-A Änd-A -A |
Änderung-A1 Änd-1 123 -1 |
.+-[a-z] |
Endet mit einem Bindestrich (-) und einem Buchstaben (beginnt mit beliebigen Zeichen, wobei jedoch mindestens ein Zeichen vorhanden sein muss). |
Änderung-A Änd-A |
Änderung-A1 Änd-1 123 -1 -A |
Reguläre Ausdrücke sind ein äußerst effizientes, aber auch komplexes Hilfsmittel bei der Suche nach Textstellen. Für komplexere Suchvorgänge müssen Sie eventuell mehrere Ausdrücke kombinieren.
Die folgende Tabelle zeigt einige Beispiele für solche komplexen Ausdrücke:
Ausdruck |
Bedeutung |
Findet |
Findet nicht |
[0-9]+[-]?[0-9]+ |
Zahlen, die einen Bindestrich in der Mitte haben können, aber nicht müssen |
123-45 12345 |
12A32 1232-A A |
.*[^_] |
Darf nicht mit einem Unterstrich (_) enden. |
123324 TEIL1 |
12343_ |
(390|231)-[a-z0-9]+-[0-9]+ |
Entweder "390" oder "231", danach ein Bindestrich, ein aus mindestens einem Zeichen bestehender alphanumerischer Abschnitt, ein weiterer Bindestrich und schließlich mindestens eine Ziffer |
390-meinteil-1 231-Befestigung-99 |
120-meinteil-1 380- - |