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

Langage Perl Discussion :

[regex] petite reg ex pas trop violente je pense ;)


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Par défaut [regex] petite reg ex pas trop violente je pense ;)
    Hello

    Je sais , je dis moi même qu'elle est pas violente, mais voila, y arrive pô

    je cherche à avoir la dernière partie de la chaine '123456_56897_5555' séparée par des '_' . Ici 5555.

    En une seule commande si c'est possible, c'est pour mettre dans une requete SQL.

    Merci !

    ++

    [Edit] rajout du 'o' de violente, pour faire plaisir à Arioch [/Edit]

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $chaine = "123456_56897_5555";
     
    $_ = $1 if ($chaine =~ /_([^_]+)$/);
    Topo rapide de ma regexp : /_([^_]+)$/
    Recherche d'un caractère _ suivi de tout autre caractère n'étant pas un _ et ce, jusqu'à ce que la fin de chaîne soit atteinte.

    Tu peux tester : ça fonctionne.

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Et sinon, on dit violente, pas vilente

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Ah et sinon, autre solution : spliter ta chaine sur _, ranger le tout dans une liste et en récupérer le dernier élément.

    C'est à ça que j'ai pensé en 1er mais j'ai préféré réfléchir 2 minutes avant de te donner l'autre soluce. De peur que Jedai ou Pospos ne se pointent pour dire que mon code est nul

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Arioch
    Ah et sinon, autre solution : spliter ta chaine sur _, ranger le tout dans une liste et en récupérer le dernier élément.

    C'est à ça que j'ai pensé en 1er mais j'ai préféré réfléchir 2 minutes avant de te donner l'autre soluce. De peur que Jedai ou Pospos ne se pointent pour dire que mon code est nul
    Je ne t'aurais pas dit qu'elle était nulle, mais le posteur voulait une regex, parce que mettre un split dans une requête SQL ... (la question n'a rien à voir avec Perl, mais je ne suis pas opposé à ce que nous soyons le forum "regex" officieux)

    Par ailleurs tu as laissé trainé un point inutile dans ta regex. Corrige ça dans tes messages précédents.

    --
    Jedaï

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Citation Envoyé par Jedai
    Par ailleurs tu as laissé trainé un point inutile dans ta regex. Corrige ça dans tes messages précédents.
    Ah ah ah !! Me doutais bien qu'il dirait quelque chose

    Mais mais mais ??? De quel point tu parles ?

    Jedai, merci pour le coup du point, j'ignorais cette énième subtilité !

  7. #7
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Par défaut
    Quelle est la différence entre ~/toto/ et ~m/toto/ ?

  8. #8
    Membre émérite Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Par défaut
    Citation Envoyé par Arioch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $chaine = "123456_56897_5555";
     
    $_ = $1 if ($chaine =~ /_([^_]+)$/);
    Tu peux tester : ça fonctionne.
    je confirme ! merci bcp.

    Citation Envoyé par Jedai
    la question n'a rien à voir avec Perl, mais je ne suis pas opposé à ce que nous soyons le forum "regex" officieux
    il faut pt demander à faire un sous forum? Histoire que ce soit "officiel"

    Encore merci!

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

Discussions similaires

  1. Petit bout de code que je ne saisis pas trop
    Par MeTaLCaM dans le forum C#
    Réponses: 5
    Dernier message: 03/12/2009, 00h07
  2. Réponses: 5
    Dernier message: 23/06/2004, 22h23

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