-
regex caractere multiple
Bonjour a tous,
j'ai une regex
Code:
if (($Ligne_Fichier) =~/[{17};](\d+\.\d+\.\d+\.)(\d+).*/)
Mais elle ne recupere pas ce que je souhaite je voudrai recuperer une IP qui est située apres 17 point virgule est bien comme cela qu il faut l écrire ?
Merci d avance Jules
-
il faut ecrire ;{17} et non [{17};]
-
Oki merci mais le probleme c est que j ai essayé aussi cette expression au prealable !
Code:
if (($Ligne_Fichier) =~/.*;.*;.*;.*;.*;.*;.*;.*;.*;.*;.*;.*;.*;.*;.*;.*;(\d+\.\d+\.\d+\.)(\d+);.*;.*;.*;.*;.*;.*;.*;.*/)
J ai place des point etoile (.*) mais le probleme c est qu il peut arriver qu il n y a rien entre des point virgules qui se suivent comment est possible de gèrer ca ?
il peut en bref entre les point soit y avoir n importe quoi soit rien comment faire ?
merci Jules
-
ha ok, ce ne sont pas 17 ; de suite mais 17 ; potentiellement separés par du text!
donc voila par koi rempalcer le debut de ta regexp:
(?:;[^;]*){17}
et je te conseil d'aller jetter un oeil sur perlre (google)
-
Merci ca marche comme je le voulais .
Merci beaucoup
Bonne aprem
Jules
-