Page 1 sur 1

[R] Probleme avec les expressions régulières

Posté : mer. 27 mai 2015 09:48
par Bayo
Bonjour,

Je souhaiterai décortiquer un fichier texte et récupérer certaines informations. J'ai énormément de mal avec les expressions régulières.

Siège 2 : XXXXXX (1500 en jetons)

Sur cette ligne j'essaye de récupérer le numéro du siège je suis pour le moment sur ça $numsiege=StringRegExp($hligne,'(?:Siège) ([0-9]{1,2})' )
mais ça me trouve 1 sur toutes les lignes. sinon j'ai 0. J'ai essayé plein de truc mais je n'y arrive pas.

On va commencer par ça et je vais essayer de chercher pour récupérer le reste.

Merci d'avance.

Re: [..]Pb avec les expressions régulières

Posté : mer. 27 mai 2015 09:51
par jbnh
Je sais que souvent les expressions régulières sont plus fiables, mais pourquoi ne pas simplement commencer avec un

Local $aArray = _StringBetween("Siège 2 : XXXXXX (1500 en jetons)", "Siège ", " :")

Si cela peut vous debloquer...

Re: [..]Pb avec les expressions régulières

Posté : mer. 27 mai 2015 10:19
par Bayo
ben en faite c'est ce que je suis en train d'essayer. Quand je test ta ligne ça fonctionne mais quand je passe par
Local $aArray = _StringBetween($hligne, "Siège ", " :")
_ArrayDisplay($aArray)

$hligne contient bien le même format que je t'ai donné mais _arraydisplay ne s'affiche pas

Edit : après plusieurs tests si je met en dur une ligne dans $ligne par exemple et que je tape Local $aArray = _StringBetween($ligne, "Siège ", " :") ça marche

quand je le fait avec une ligne lu dans mon fichier texte Local $aArray = _StringBetween($hligne, "Siège ", " :") ça marche pas

Si j'enlève l'espace avant les : Local $aArray = _StringBetween($hligne, "Siège ", ":") ça marche mais si je fait un Stringlen du résultat il me remonte 2 caractère...

Je comprend pas tout là :'(

Re: [..]Pb avec les expressions régulières

Posté : mer. 27 mai 2015 10:41
par jchd
Sur cette ligne j'essaye de récupérer le numéro du siège je suis pour le moment sur ça $numsiege=StringRegExp($hligne,'(?:Siège) ([0-9]{1,2})' )
mais ça me trouve 1 sur toutes les lignes. sinon j'ai 0. J'ai essayé plein de truc mais je n'y arrive pas.
Y compris lire la doc de StringRegExp, en particulier ce qui concerne le troisième paramètre ?

Re: [..]Pb avec les expressions régulières

Posté : mer. 27 mai 2015 11:33
par Bayo
Bon je viens de m'en sortir avec $numsiege = StringRegExp($hligne,'Siège (\d{1,2})', $STR_REGEXPARRAYGLOBALMATCH).

Maintenant la chaîne de caractère, je laisse le sujet un peu ouvert, si je m'en sort pas.

Merci

Edit : Bon ça à l'air d'aller, merci je résout