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 :

Expression régulière, précision


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 47
    Par défaut Expression régulière, précision
    Hello,

    Je débute dans les expressions régulières sous python ( ), j'aurais besoin d'une précision.

    J'utilise....Kodos

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import re
     
    # common variables
    rawstr = r""""""    à completer
    embedded_rawstr = r""""""  à completet
    matchstr = """BLABLABLAXXX 9754    40      2       1       3598536         15296"""
     
    # method 2: using search function (w/ external flags)
    match_obj = re.search(rawstr, matchstr)
    Je cherche à pecher le 3598536. Donc sous Kodos en bidoullant avec des \d+ j'arrive à récuperer les chiffres, mais je n'arrive pas à trouver une commande permettant de choisir précisement un seul chiffre dans la liste
    Il doit exister une commande je pense permettant de dire lequel des \d+ je souhaite garder....? C'est elle qu'il me faut!

    Thx!

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    En clair tu cherches le n-ième de la liste?
    Sit tu les cherches tous sous forme de liste avec findall, soit tu les encapsules tous dans une regex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rawstr = r'^\D*(?:(\d+)\s*)+\D*$'
    Tu auras un groupe par nombre, sinon tu peux "développer" le tout avec des \d+\s+ répétés

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 47
    Par défaut
    Citation Envoyé par oiffrig
    En clair tu cherches le n-ième de la liste?
    Sit tu les cherches tous sous forme de liste avec findall, soit tu les encapsules tous dans une regex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rawstr = r'^\D*(?:(\d+)\s*)+\D*$'
    Tu auras un groupe par nombre, sinon tu peux "développer" le tout avec des \d+\s+ répétés

    Hehe, la commande findall qui renvoie le tout dans une liste m'est particulièrement sympatique
    Graçe à celle-ci, all is good

    Merci

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

Discussions similaires

  1. [RegEx] Expression régulières : Balises <SCRIPT>
    Par Gwipi dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 23h25
  2. Expression réguliére
    Par Mad_Max dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/09/2003, 18h17
  3. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 10h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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