OVH Cloud OVH Cloud

aide expression reguliere

4 réponses
Avatar
lepetitjoe
Hello tous

J=B4aimerai bien , dans un fichier , recuperer tous les mots qui sont
constitu=E9s
=E0 base d=B4un indice (un compteur ).
Par exemple, je voudrai, lorsque je fais mon iteration, que lorsque
i=3D1, il
recupere tous les mots Toto$i.+? (comme toto1tata, toto1nunu,...) et
non toto10.fofo ou toto11.nina..
Comment est ce que je dois poser ma condition sur la ligne lu?
Moi je fais ceci mais il me prends aussi les mots avec 10,11,...

if ($_ =3D~ /toto$i.+?/)

Comment limiter exclusivement a l=B4indice en cours et non prendre aussi
d=B4autres mots commencant par ce indice coe 12,10,11 quand j=B4ai
l=B4indice 1?
Merci

4 réponses

Avatar
lepetitjoe
merci mais malheureusement ca marche pas. L´iteration peut aller au
dela de 9, donc 10,11,12,.....
Mais mon probleme c´est qu´a chaque fois il ne doit recuperer que les
mots qui ont la valeur de l´iteration par exemple quand $i=1, il ne
recuperera que les mots comme toto1tata, toto1nunu..
Quand $i sera = à 2, il prendra toto2tata, toto2nunu etc....
Quand $i sera = à 10, il prendra toto10tata, toto10nunu etc....

Or avec ma condtion actuellement , quand $i=1 il prend aussi
toto10tata, toto10nunu , popo11papa etc....
Merci de m´eclairer




mdnews wrote:


Hello tous

J´aimerai bien , dans un fichier , recuperer tous les mots qui sont
constitués
à base d´un indice (un compteur ).
Par exemple, je voudrai, lorsque je fais mon iteration, que lorsque
i=1, il
recupere tous les mots Toto$i.+? (comme toto1tata, toto1nunu,...) et
non toto10.fofo ou toto11.nina..


Simplement:
toto[0-9][a-z]+
(mais ça dépend bien sûr de la version)

Comment est ce que je dois poser ma condition sur la ligne lu?
Moi je fais ceci mais il me prends aussi les mots avec 10,11,...

if ($_ =~ /toto$i.+?/)

Comment limiter exclusivement a l´indice en cours et non prendre aussi
d´autres mots commencant par ce indice coe 12,10,11 quand j´ai
l´indice 1?


J'ai pas tout compris l'énoncé, mais déjà n'oublie pas que le poi nt
signifie tout caractère y compris le point, les chiffres etc



Avatar
Rue des Prairies
Hello tous

J´aimerai bien , dans un fichier , recuperer tous les mots qui sont
constitués
à base d´un indice (un compteur ).
Par exemple, je voudrai, lorsque je fais mon iteration, que lorsque
i=1, il
recupere tous les mots Toto$i.+? (comme toto1tata, toto1nunu,...) et
non toto10.fofo ou toto11.nina..
Comment est ce que je dois poser ma condition sur la ligne lu?
Moi je fais ceci mais il me prends aussi les mots avec 10,11,...

if ($_ =~ /toto$i.+?/)

Comment limiter exclusivement a l´indice en cours et non prendre aussi
d´autres mots commencant par ce indice coe 12,10,11 quand j´ai
l´indice 1?
Merci

Bonjour,


/toto$i[^0-9]?.+?/

Olivier.

Avatar
lepetitjoe
Merci ca marche....
A bientot


Rue des Prairies wrote:
Hello tous

J´aimerai bien , dans un fichier , recuperer tous les mots qui sont
constitués
à base d´un indice (un compteur ).
Par exemple, je voudrai, lorsque je fais mon iteration, que lorsque
i=1, il
recupere tous les mots Toto$i.+? (comme toto1tata, toto1nunu,...) et
non toto10.fofo ou toto11.nina..
Comment est ce que je dois poser ma condition sur la ligne lu?
Moi je fais ceci mais il me prends aussi les mots avec 10,11,...

if ($_ =~ /toto$i.+?/)

Comment limiter exclusivement a l´indice en cours et non prendre aussi
d´autres mots commencant par ce indice coe 12,10,11 quand j´ai
l´indice 1?
Merci

Bonjour,


/toto$i[^0-9]?.+?/

Olivier.



Avatar
gerbier
wrote:
Hello tous

J´aimerai bien , dans un fichier , recuperer tous les mots qui sont
constitués
à base d´un indice (un compteur ).
Par exemple, je voudrai, lorsque je fais mon iteration, que lorsque
i=1, il
recupere tous les mots Toto$i.+? (comme toto1tata, toto1nunu,...) et
non toto10.fofo ou toto11.nina..
Comment est ce que je dois poser ma condition sur la ligne lu?
Moi je fais ceci mais il me prends aussi les mots avec 10,11,...

if ($_ =~ /toto$i.+?/)

Comment limiter exclusivement a l´indice en cours et non prendre aussi
d´autres mots commencant par ce indice coe 12,10,11 quand j´ai
l´indice 1?
Merci



tout dépend de ce qui suit ton indice
je te propose si tu veux exclude des chiffres :
if ($_ =~ /toto$iD+/)