Les expressions régulières constituent un moyen d'identification des chaînes de texte, telles que des caractères particuliers, des mots ou des spécificités de caractère. Dans Model Review, leurs utilisations principales sont liées au respect des conventions d'attribution de nom ou au tri d'annotations d'un modèle d'un projet pour rechercher des informations spécifiques.
Les expressions régulières emploient des caractères spéciaux pour une plus grande flexibilité de définition des correspondances. Les caractères spéciaux sont les suivants :
+ * ? . [ ] ^ ( ) | \
Les paragraphes suivants décrivent l'utilisation de chaque caractère spécial :
Le point ( . ) correspond à un caractère quelconque.
Expression |
Signification |
Correspondances |
Non-correspondances |
390-. |
Correspond à la chaîne "390-" suivie de n'importe quel caractère. |
390-A, 390-1, 390-- |
390-A1, 1390-1 |
Revision . Relâché |
Correspond à la chaîne "REVISION" suivie de n'importe quel caractère, puis de la chaîne "Released". |
Revision A Released Revision 1 Released Revision # Released |
Revision A1 Released RevisionAReleased |
Les crochets ("[ ]") définissent une classe de caractères, qui correspond à tout caractère unique en fonction des caractères contenus dans les crochets. Tous les caractères spéciaux placés entre crochets perdent leur signification, à l'exception de "^" qui, s'il est le premier caractère placé dans les crochets, signifie "Ne correspond PAS" aux caractères spécifiés suivants.
Les crochets peuvent également contenir des intervalles de caractères.
Expression |
Signification |
Correspondances |
Non-correspondances |
[akm] |
Un caractère : a, k ou m. |
A, K, M |
Akm, ak, G |
[a-z] |
N'importe quelle lettre. |
A, b, c, d |
1, 2, -, # |
[^akm] |
N'importe quel caractère, EXCEPTE a, k ou m. |
C, f, G, Am (considéré comme une succession de deux caractères) |
A, k, m |
[0-9] |
N'importe quel chiffre. |
0, 4, 7 |
A, #, z |
[a-z][a-z] |
Toute succession de deux lettres. |
AB, BC, DE |
A (une seule lettre) A1 12 |
L'astérisque ( * ) suit une expression indiquant qu'elle peut se produire zéro, une ou plusieurs fois.
Expression |
Signification |
Correspondances |
Non-correspondances |
Ab*c |
"A" suivi d'aucun, d'un ou de plusieurs "b", avec un "c" à la fin. |
Ac Abc Abbbbbbbc |
Bbb Abcd |
[a-z]* |
Série illimitée de lettres quelconques (ce qui revient à dire uniquement des lettres, mais en incluant la possibilité de zéro lettre). |
A Bob AAAAA Steel <vide> (car * peut indiquer aucune occurrence) |
STEEL230 12 AA-## |
Le signe plus ( + ) suit une expression indiquant qu'elle peut se produire une ou plusieurs fois.
Expression |
Signification |
Correspondances |
Non-correspondances |
Ab+c |
"A" suivi d'un ou de plusieurs "b", avec un "c" à la fin. |
Abc Abbbbbbbc |
Ac Bbb Abcd |
[a-z]+ |
Tout nombre de toute lettre (revient à dire uniquement des lettres). |
Bob AAAAA Steel |
STEEL230 12 AA-## <vide> |
Le point d'interrogation ( ? ) suit une expression pour indiquer qu'elle est facultative.
Expression |
Signification |
Correspondances |
Non-correspondances |
Ab?c |
"A" suivi d'un "b" facultatif, avec un "c" à la fin. |
Ac Abc |
Abbc Abcd |
390-[a-z][a-z]? |
"390-" suivi par une lettre et une deuxième lettre facultative. |
390-A 390-AB |
390-11 390- 390-ABC |
La barre verticale ( | ) représente la conjonction OU entre deux expressions (généralement mises entre parenthèses).
Expression |
Signification |
Correspondances |
Non-correspondances |
(390|241)-[a-z]+ |
"390" ou "241" suivi par "-" et une ou plusieurs lettres. |
390-A 241-A 241-AB |
200-A 241 241- |
As per (MS2377|CS123) |
"As per" suivi par "MS2377" ou "CS123". |
As per MS2377 As per CS123 |
As per As per MS3222
|
390-([abc]|[123]) |
"390" suivi par "a", "b" ou "c" OU par "1", "2" ou "3". |
390-A 390-3 |
390-F 390- |
Si la recherche porte sur un caractère spécial, il faut le faire précéder d'une barre oblique inverse pour indiquer à Model Review de lire ce caractère littéralement (et non en tant que caractère spécial).
Expression |
Signification |
Correspondances |
Non-correspondances |
[0-9]\+ |
Un chiffre suivi d'un "+". |
1+ 2+ |
1 A 1+1 |
What\? |
"What" suivi d'un point d'interrogation. |
What? |
What's Up? |
Il est courant dans Model Review de commencer ou de finir par une valeur particulière. Cette syntaxe diffère pour les personnes habituées à rechercher des expressions régulières de style. L'approche recommandée est d'utiliser ".*" ou ".+" devant ou derrière une expression pour indiquer "Commence par" ou "Finit par".
Expression |
Signification |
Correspondances |
Non-correspondances |
390-.* |
Commence par "390-" (et finit par un caractère quelconque ou aucun caractère). |
390-1 390-111 |
1390-1 |
390-.+ |
Commence par "390-" (et finit par tout caractère, mais doit comprendre au moins un caractère). |
390-1 390-111 |
1390-1 390- |
.*-[a-z] |
Finit par un tiret ( - ) et une lettre (et commence par un caractère quelconque ou aucun caractère). |
Revision-A Rev-A -A |
Revision-A1 Rev-1 123 -1 |
.+-[a-z] |
Finit par "-" et une lettre (et commence par tout caractère, mais doit comprendre au moins un caractère). |
Revision-A Rev-A |
Revision-A1 Rev-1 123 -1 -A |
Les expressions constituent un outil puissant, mais quelque peu complexe, pour la correspondance de texte. Pour faire face à des besoins plus compliqués, vous devrez peut-être devenir à l'aise dans la construction d'expressions complexes.
Voici quelques exemples d'expressions complexes :
Expression |
Signification |
Correspondances |
Non-correspondances |
[0-9]+[-]?[0-9]+ |
Chiffres séparés par un tiret facultatif. |
123-45 12345 |
12A32 1232-A A |
.*[^_] |
Ne peut pas finir par un tiret de soulignement (_). |
123324 PART1 |
12343_ |
(390|231)-[a-z0-9]+-[0-9]+ |
"390" ou "231", suivi de "-", d'une section alphanumérique d'au moins un caractère, d'un autre tiret "-", puis d'au moins un chiffre. |
390-mypart-1 231-bracket-99 |
120-mypart-1 380- - |