Création
d'entreprise
Posez votre question Signaler

[PHP] expressions régulière [Résolu]

tsunamidream 260Messages postés 26 avril 2009Date d'inscription 14 août 2011Dernière intervention - Dernière réponse le 1 oct. 2009 à 18:34
Bonjour,
J'ai un script PHP qui lit un fichier texte ligne par ligne.
J'ai fais une regex qui recherche une expression sur cette ligne.
Cependant, avec le changement de moi cette regex ne fonctionne plus et je ne sais pas comment la modifié correctement.
Lorsque le jour était à 2chiffres cela fonctionnait bien :
Tue Sep 29 09:56:38 2009
'#^[A-Z][a-z]{2} [A-Z][a-z]{2} [0-9]{1,2}[ ([0-9]{2}:){2}[0-9]{2} [0-9]{4}#'
Maintenant, ca ne fonctionne plus avec cette ligne :
Thu Oct 1 11:57:50 2009
Le chiffre des dixaines est remplacé par un espace.
Je ne peux modifier les lignes que je lis car elles sont générées par un logiciel.
Merci pour votre aide,
Lire la suite 

[PHP] expressions régulière »

4 réponses
Réponse
+0
moins plus
et si tu rajoutes l'espace dans [0-9]

'#^[A-Z][a-z]{2} [A-Z][a-z]{2} [0-9 ]{1,2}[ ([0-9]{2}:){2}[0-9]{2} [0-9]{4}#' 
Ajouter un commentaire
Réponse
+0
moins plus
Cela m'étonnerait que cette expression fonctionne.

Il y a un crochet ouvrant en trop juste après ce que tu as mit en gras.
Ajouter un commentaire
Réponse
+0
moins plus
Oui j'ai vu trop tard pour le crochet ouvrant c'est lors du copié collé que j'ai fait une erreur.

Mais après plus d'une heure de recherche j'ai fini par trouver quelque chose. C'est peut être pas la méthode la plus simple mais ça a le mérite de fonctionner.

#^[A-Z][a-z]{2} [A-Z][a-z]{2} ((\s[0-9])|([0-9]{2})) ([0-9]{2}:){2}[0-9]{2} [0-9]{4}#

merci à tous.
Ajouter un commentaire
Réponse
+0
moins plus
Pourquoi ne pas utiliser tout simplement un quantificateur sur les espaces ?

'#^[A-Z][a-z]{2} +[A-Z][a-z]{2} +[0-9]{1,2} +([0-9]{2}:){2}[0-9]{2} +[0-9]{4}$#'


Et si il peut y avoir des tabulations, utilise :blank:

'#^[A-Z][a-z]{2}:blank:+[A-Z][a-z]{2}:blank:+[0-9]{1,2}:blank:+([0-9]{2}:){2}[0-9]{2}:blank:+[0-9]{4}$#'


Ajoute une double paire de crochet autour de :blank:, ccm interprète ça comme des liens...
Ajouter un commentaire
Ce document intitulé « [PHP] expressions régulière » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?