Expressions rationnelles
Une expression rationnelle est une manière de décrire un texte. Par exemple, le texte « 32 » peut être décrit comme un texte contenant deux chiffres. Cependant, d'autres textes contiennent également deux chiffres, par exemple « 12 » et « 00 ». Nous disons que ces textes correspondent à l'expression rationnelle. (Les expressions rationnelles Design Studio respectent la syntaxe Perl5.)
Une expression rationnelle est composée de caractères normaux et de symboles spéciaux. Chaque symbole spécial a sa propre signification. Par exemple, le symbole spécial « . » (point) signifie n'importe quel caractère unique et correspond à tous les caractères uniques, par exemple « a », « b », « 1 », « 2 », etc.
Symboles spéciaux
Vous pouvez utiliser les symboles spéciaux suivants dans une expression rationnelle.
Symbole spécial | Description |
---|---|
. |
n'importe quel caractère unique, par exemple « a », « 1 », « / », « ? », « . », etc. |
\d |
Tout chiffre décimal, par exemple « 0 », « 1 », ..., « 9 ». |
\D |
Tout non-chiffre, par exemple similaire à « . » à l'exclusion de « 0 », « 1 », ..., « 9 ». |
\s |
N'importe quel caractère d'espacement, par exemple « », tabulation et retour chariot |
\S |
N'importe quel caractère à l'exception des caractères d'espacement, par exemple « . », sauf « », tabulation et retour chariot |
\w |
Tout caractère de mot (alphanumérique), par exemple « a », ..., « z », « A », ..., « Z », « 0 », ..., « 9 ». |
\W |
Tout caractère non-mot (alphanumérique), par exemple similaire à « . » à l'exclusion de « a », ..., « z », « A », ..., « Z », « 0 », ..., « 9 ». |
\n |
Un caractère de saut de ligne. |
\r |
Un caractère de retour chariot. |
\t |
Un caractère de tabulation. |
[abc] |
Tout caractère de l'ensemble a, b ou c. |
[^abc] |
Tout caractère n'appartenant pas à l'ensemble a, b ou c. |
[a-z] |
Tout caractère compris entre a et z, inclus. |
a|b |
Correspond à tout ce que la sous-expression rationnelle « a » correspondrait, ou à tout ce que la sous-expression rationnelle « b » correspondrait. |
Si vous voulez qu'un caractère spécial, tel que « . » ou « \ » soit un caractère normal, vous pouvez l'échapper en ajoutant une barre oblique inverse (« \ ») devant lui. Donc, si vous voulez correspondre exactement au caractère « . », au lieu de n'importe quel caractère unique, vous devez écrire « \. ».
Vous pouvez organiser une expression rationnelle en sous-expressions rationnelles à l'aide de parenthèses : "(" et ")". L'expression rationnelle « abc » peut être organisée comme « (a)(bc) ». Les sous-expressions rationnelles sont utiles lors de l'application des opérateurs d'expression rationnelle.
Opérateurs de répétition
Ces symboles d'opérateur répéteront le caractère, le symbole ou la sous-expression rationnelle précédente.
Symbole spécial | Description |
---|---|
{m} |
Correspond exactement à m répétitions de la sous-expression rationnelle précédente. |
{m,n} |
Correspond entre m et n répétitions (incluses) de la sous-expression rationnelle précédente. Il correspondra à autant de sous-expressions rationnelles que possible. |
{m,n}? |
Correspond entre m et n répétitions (incluses) de la sous-expression rationnelle précédente. Il correspondra au plus petit nombre de sous-expressions rationnelles possible |
{m,} |
Correspond à m répétitions ou plus de la sous-expression rationnelle précédente. Il correspondra à autant de sous-expressions rationnelles que possible. |
{m,}? |
Correspond à m répétitions ou plus de la sous-expression rationnelle précédente. Il correspondra au plus petit nombre de sous-expressions rationnelles possible. |
? |
La sous-expression rationnelle précédente, ou du texte vide. Abréviation pour {0,1} |
* |
Correspond à n'importe quel nombre de répétitions de la sous-expression rationnelle précédente, ou à du texte vide. Abréviation pour {0,}. Il correspondra à autant de sous-expressions rationnelles que possible. |
*? |
Correspond à n'importe quel nombre de répétitions de la sous-expression rationnelle précédente, ou à du texte vide. Abréviation pour {0,}?. Il correspondra au plus petit nombre de sous-expressions rationnelles possible. |
+ |
Correspond à une ou plusieurs répétitions de la sous-expression rationnelle précédente. Abréviation pour {1,}. Il correspondra à autant de sous-expressions rationnelles que possible. |
+? |
Correspond à une ou plusieurs répétitions de la sous-expression rationnelle précédente. Abréviation pour {1,}?. Il correspondra au plus petit nombre de sous-expressions rationnelles possible. |
Ces opérateurs répéteront le caractère, le symbole ou la sous-expression rationnelle précédente.
Plus d'informations sur le regroupement
Nous avons vu que « ( » et « ) » peuvent être utilisés pour regrouper des sous-expressions rationnelles dans une nouvelle sous-expression rationnelle. Mais cela sert en fait un autre objectif : vous pouvez utiliser ces groupes dans des expressions. Pour créer un regroupement qui ne peut pas être utilisé dans les expressions, vous pouvez utiliser « (?: ».
Vous pouvez faire référence à d'autres groupes dans votre expression rationnelle en utilisant \n, où n est le numéro du groupe.