Le espressioni regolari consentono di identificare le stringhe di testo in base a caratteri, parole e combinazioni di caratteri specifici. Model Review è spesso utilizzato per verificare la conformità alle convenzioni di denominazione o per ordinare le annotazioni all'interno di un modello di progetto in base a criteri specifici.
Le espressioni regolari utilizzano caratteri speciali per consentire una maggiore flessibilità durante la definizione delle corrispondenze desiderate. I caratteri speciali sono:
+ * ? . [ ] ^ ( ) | \
Nelle sezioni seguenti viene illustrato come utilizzare i caratteri speciali:
Un punto (".") corrisponde a qualsiasi carattere singolo.
Espressione |
Significato |
Corrisponde |
Non corrisponde |
390-. |
Corrisponde alla stringa "390-" seguita da qualsiasi carattere. |
390-A, 390-1, 390-- |
390-A1, 1390-1 |
Revisione . Rilasciato |
Corrisponde alla stringa "REVISIONE " seguita da qualsiasi carattere e dalla stringa "pubblicata" |
Revisione A pubblicata Revisione 1 pubblicata Revisione # pubblicata |
Revisione A1 pubblicata RevisioneApubblicata |
Le parentesi quadre ("[ ]") definiscono un insieme di caratteri e consente di identificare le stringhe che contengono uno qualsiasi di tali caratteri. All'interno delle parentesi, i caratteri speciali hanno lo stesso valore, ad eccezione di "^" che, se specificato come primo carattere all'interno delle parentesi, consente di individuare le stringhe che NON contengono i caratteri specificati.
Nelle parentesi quadre è possibile specificare anche intervalli di valori.
Espressione |
Significato |
Corrisponde |
Non corrisponde |
[akm] |
Un carattere: a, k o m. |
A, K, M |
Akm, ak, G |
[a-z] |
Qualsiasi lettera |
A, b, c, d |
1, 2, -, # |
[^akm] |
Qualsiasi carattere che NON sia a, k o m |
C, f, G, Am (poiché si tratta di una coppia di caratteri) |
A, k, m |
[0-9] |
Qualsiasi numero |
0, 4, 7 |
A, #, z |
[a-z][a-z] |
Qualsiasi coppia di lettere |
AB, BC, DE |
A (solo una lettera) A1 12 |
L'asterisco (*) viene inserito alla fine di un'espressione per identificare le stringhe in cui il carattere che precede l'asterisco viene ripetuto nessuna o più volte.
Espressione |
Significato |
Corrisponde |
Non corrisponde |
Ab*c |
"A" seguita da nessuna o più b e quindi da C |
Ac Abc Abbbbbbbc |
Bbb Abcd |
[a-z]* |
Qualsiasi combinazione di lettere, ovvero solo lettere o nessuna lettera |
A Bob AAAAA Acciaio <nessun carattere> (in quanto * può indicare nessuna ricorrenza) |
STEEL230 12 AA-## |
Il segno più (+) viene inserito alla fine di un'espressione per identificare le stringhe in cui il carattere che precede il segno più viene ripetuto una o più volte.
Espressione |
Significato |
Corrisponde |
Non corrisponde |
Ab+c |
"A" seguita da una o più b e quindi da C |
Abc Abbbbbbbc |
Ac Bbb Abcd |
[a-z]+ |
Qualsiasi combinazione di lettere, ovvero solo lettere |
Bob AAAAA Acciaio |
STEEL230 12 AA-## <nessun carattere> |
Un punto interrogativo ("?") viene inserito alla fine di un'espressione per identificare le stringhe che possono contenere (facoltativamente) il carattere che precede il punto interrogativo.
Espressione |
Significato |
Corrisponde |
Non corrisponde |
Ab?c |
"A" seguita da una b (facoltativa) e quindi da C |
Ac Abc |
Abbc Abcd |
390-[a-z][a-z]? |
"390-" seguito da una lettera ed eventualmente da un'altra lettera (la seconda lettera è facoltativa). |
390-A 390-AB |
390-11 390- 390-ABC |
La barra verticale (|) equivale ad inserire OPPURE tra due espressioni (generalmente racchiuse tra parentesi).
Espressione |
Significato |
Corrisponde |
Non corrisponde |
(390|241)-[a-z]+ |
"390" o "241" seguito da "-" e da una o più lettere |
390-A 241-A 241-AB |
200-A 241 241- |
In base a (MS2377|CS123) |
"In base" seguito da "MS2377" o "CS123" |
In base a MS2377 In base a CS123 |
In base a In base a MS3222
|
390-([abc]|[123]) |
"390-" seguito da "a", "b" o "c" OPPURE "1", "2" o "3" |
390-A 390-3 |
390-F 390- |
Se si desidera individuare le stringhe che contengono un carattere che funge anche da carattere speciale, inserire una barra rovesciata prima di tale carattere per fare sì che esso venga interpretato letteralmente (anziché come carattere speciale).
Espressione |
Significato |
Corrisponde |
Non corrisponde |
[0-9]\+ |
Un numero seguito da "+" |
1+ 2+ |
1 A 1+1 |
Eliminare\? |
"Eliminare" seguito da un punto interrogativo. |
Eliminare? |
Eliminare il file? |
Model Review viene spesso utilizzato per individuare stringhe che iniziano o terminano con un particolare valore. Questa sintassi consente di cercare espressioni regolari in base allo "stile". Si consiglia di utilizzare i caratteri " *" oppure ".+" all'inizio o alla fine dell'espressione per indicare "Inizia con" o "Termina con".
Espressione |
Significato |
Corrisponde |
Non corrisponde |
390-.* |
Inizia con "390-" (termina con qualsiasi carattere, incluso uno spazio vuoto). |
390-1 390-111 |
1390-1 |
390-.+ |
Inizia con "390-" (termina con almeno un carattere di qualsiasi tipo) |
390-1 390-111 |
1390-1 390- |
.*-[a-z] |
Termina con "-" e una lettera (inizia con qualsiasi carattere, incluso uno spazio vuoto). |
Revisione-A Rev-A -A |
Revisione-A1 Rev-1 123 -1 |
.+-[a-z] |
Termina con "-" e una lettera (inizia con almeno un carattere di qualsiasi tipo) |
Revisione-A Rev-A |
Revsione-A1 Rev-1 123 -1 -A |
Le espressioni regolari sono uno strumento molto utile, anche se talvolta complesso da utilizzare, per individuare stringhe di testo specifiche. Gli utenti più esperti nella creazione di espressioni multiple possono usufruire di questo strumento per individuare stringhe anche molto complesse.
Di seguito sono illustrati alcuni esempi di espressioni complesse:
Espressione |
Significato |
Corrisponde |
Non corrisponde |
[0-9]+[-]?[0-9]+ |
Numeri con un trattino facoltativo al centro |
123-45 12345 |
12A32 1232-A A |
.*[^_] |
Non può terminare con un segno di sottolineatura (_). |
123324 PART1 |
12343_ |
(390|231)-[a-z0-9]+-[0-9]+ |
390 o 231, seguito da "-", una sequenza alfanumerica di almeno un carattere, quindi "-" e almeno un numero |
390-mypart-1 231-bracket-99 |
120-mypart-1 380- - |