178 votes

Est-ce que " \d "dans regex signifie un chiffre ?

J'ai trouvé que dans 123 , \d correspond à 1 y 3 mais pas 2 . Je me demandais si \d correspond à un chiffre répondant à quel type d'exigence ? Je parle de regex de style Python.

Le plugin d'expression régulière dans Gedit utilise une expression régulière de style Python. J'ai créé un fichier texte dont le contenu est

123

Seulement 1 y 3 sont trouvés par la regex \d ; 2 ne l'est pas.

En général, pour une séquence de chiffres sans autres caractères entre eux, seuls les chiffres d'ordre impair sont des correspondances, et les chiffres d'ordre pair ne le sont pas. Par exemple, dans 12345 les correspondances sont 1 , 3 y 5 .

5 votes

\d correspondra à 1 , 2 y 3 . Si ce n'est pas le cas, il doit y avoir quelque chose d'autre dans votre expression. Pouvez-vous montrer votre expression complète ?

5 votes

\d est un raccourci pour [0-9] donc cela devrait correspondre 2 . Veuillez poster un cas de test complet (un script qui peut être exécuté, qui démontre votre problème) et peut-être que nous pourrons comprendre ce qui ne va pas.

0 votes

@delnan : "J'ai trouvé ça dans la 123, \d correspond à 1 et 3 mais pas à 2" me semble assez concret.

2voto

juFo Points 3779

Informations concernant .NET / C# :

Caractère du chiffre décimal : \d \d correspond à n'importe quel chiffre décimal. Il est équivalent à l'option \p Le motif d'expression régulière {Nd}, qui comprend les chiffres décimaux standard 0-9 ainsi que les chiffres décimaux d'un certain nombre d'autres jeux de caractères.

Si un comportement conforme à ECMAScript est spécifié, \d est équivalent à [0-9]. Pour plus d'informations sur les expressions régulières ECMAScript, consultez la section "Comportement de correspondance ECMAScript" dans Options d'expression régulière.

Info : https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-classes-in-regular-expressions#decimal-digit-character-d

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X