IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

REGEX Expression reguliere.


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut REGEX Expression reguliere.
    Bonjour ,

    je suis a la recherche de la meilleur expression reguliere pour retrouver dans le code ci-dessou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <table class="recap-demandes demande-statusid-6" id="demande-107830430">
    la valeur contenu aprés " id="demande-"" sachant que le nombre est toujours composé de 9 Chiffres.
    et ensuite de placer chaque ID de demande dans une liste.

    mais j'ai beaucoup de difficulté a écrire quelque chose de potable..

    Merci,

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Peon6969 Voir le message
    mais j'ai beaucoup de difficulté a écrire quelque chose de potable.
    Postez du code... expliquez les difficultés que vous rencontrez.

    Pourquoi le string poste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <table class="recap-demandes demande-statusid-6" id="demande-107830430">
    ressemble a du XML mal construit?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import re
     
    fobj = open('demmandes.txt','r')
     
    Id.append(re.findall('^id=\"demande-.{9}$\">',fobj.read()))
     
     
    #Id est le nom de ma liste, jutilise la methode append pour rajouter a la fin de Id le resultat de la methode Findall avec les parametre mit en place

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,
    Si vous postez du code, c'est pour nous permettre de reproduire rapidement des problèmes que vous aurez pris la peine d'exposer.
    Votre regexp devrait fonctionner en supprimant les ^ et $.
    re.findall retourne déjà une liste!
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Parfait !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import re
     
     
    #ouverture du fichier
    fobj = open('demmandes.txt','r')
     
    #recherche de l'expression et stockage a la fin de la list id
    print (re.findall('id=\"demande-.{9}\">',fobj.read()))

    Fonctionne nikel !

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Si tu utilises findall ça serait bien de spécifier la chaîne de caractères sur laquelle tu travailles

    Edit : Ah ça été édité entre temps, bien vu!
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Du coup ma liste contient les variable du type :

    'id="demande-107845579">',
    'id="demande-107844656">',
    'id="demande-107843441">',
    'id="demande-107841691">',


    ect... une idée de comment suprimer les carractere : 'id="demande- et "> ?

    De facon a ce quelle soit sous la forme :

    107845579',
    107844656',
    107843441',
    107841691',

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    findall('id=\"demande-(\d{9})\"', ...)
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Excellent, Grand merci a vous !!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme Regex (expressions regulieres)
    Par lemagicien dans le forum C#
    Réponses: 4
    Dernier message: 22/04/2008, 16h23
  2. débutant regex expression reguliere
    Par mhamedbj dans le forum Langage
    Réponses: 3
    Dernier message: 03/06/2007, 18h44
  3. [REGEX] Pb d'expression reguliere
    Par atv_picco dans le forum Langage
    Réponses: 5
    Dernier message: 20/07/2006, 14h01
  4. [Regex]Expression régulière
    Par Guillaume Bénétrix dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 06/12/2005, 00h21
  5. [RegEx] Expression reguliere (regex)
    Par atovik dans le forum Langage
    Réponses: 2
    Dernier message: 24/11/2005, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo