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.