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
y3
. 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 correspondre2
. 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.
0 votes
@Amber : Bon sang, j'ai raté le pas !
0 votes
Merci à tous ! Veuillez voir ma mise à jour.
0 votes
\d ne correspond qu'à 1 sur 123. Essayez \d + pour correspondre à 123.
0 votes
Que se passe-t-il si l'on met un espace entre le 1 et le 2, et que l'on ajoute un 4 immédiatement après le 3 (je soupçonne qu'il s'agit soit d'un bug, soit d'une décision de conception délibérée dans le mécanisme de recherche par expression rationnelle de gedit).
0 votes
@Zack : 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 sont1
3
y5
.6 votes
Ok, je ne vais pas poster ça comme une réponse parce que je n'ai pas connaître mais je pense que ce qui se passe, c'est que gedit refuse de commencer une nouvelle correspondance immédiatement après la fin de la correspondance précédente - il saute un caractère, quel qu'il soit, avant de tenter une nouvelle correspondance. Essayez de faire correspondre
11111
y22222
.