[PHP] expressions régulière
Résolu
tsunamidream
Messages postés
262
Date d'inscription
Statut
Membre
Dernière intervention
-
P@t@ch0n Messages postés 565 Date d'inscription Statut Membre Dernière intervention -
P@t@ch0n Messages postés 565 Date d'inscription Statut Membre Dernière intervention -
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,
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,
A voir également:
- [PHP] expressions régulière
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
4 réponses
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}#'
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.
Il y a un crochet ouvrant en trop juste après ce que tu as mit en gras.
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.
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.
Pourquoi ne pas utiliser tout simplement un quantificateur sur les espaces ?
Et si il peut y avoir des tabulations, utilise :blank:
Ajoute une double paire de crochet autour de :blank:, ccm interprète ça comme des liens...
'#^[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...