Espressioni regolari

Espressioni regolari

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.

Caratteri speciali

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:

Punto

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

Parentesi quadre

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

Asterisco

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-##

Più

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>

Punto interrogativo

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

Tubo

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-

Barra rovesciata per disattivare un carattere speciale

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?

Inizia con/Termina con

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

Conclusione

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- -