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

C Discussion :

Expression régulière


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Par défaut Expression régulière
    Bonjour a tous,

    Je suis entrain de faire un lex et un yacc et je cale sur une expression régulière.

    Je veux qu'il me renvoi le mot clé IDF à chaque fois qu'il rencontre

    - n'importe quelle chaine : [a-zA-z0-9]
    - qui peut commencer par <*
    - mais qui ne peut pas commencer par < suivi de lettres (ex : <html )

    En résumé :

    test = IDF
    <* test = IDF
    <html test = PAS IDF

    Est-ce que c'est assez clair ?

    Merci pour votre aide

    Cordialement

  2. #2
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Qu'as-tu déjà fait ?
    Cette expression devrait trouver ce que tu cherches ...

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Par défaut
    Nan c'est pas ca. Est-ce que l'on ne peut pas remplacer les {} par autre chose ??

    Voila ce que j'avais deja fait :

    ^[^<][a-zA-Z]+[a-zA-Z0-9]+

    dans la premiere partie, je veux dire tout ce qui ne commence pas par < suivi de lettres

    Ou est mon erreur ?

  4. #4
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Le méta-symbole '^' désigne le complémentaire dans une classe de caractères.
    C-à-d que [^abc] reconnait toutes les lettres sauf a,b et c.

    Si tu désires récupérer tout ce qui ne commence pas par '<', il suffit de commencer avec :

    Mais je ne suis pas d'accord avec ton 1ier message, car tu ne reconnaiteras pas "<*blabla" puisque cette chaîne commence par un '<'

    Si ton expression commence par '^', tu ne trouveras que les solutions en début de ligne.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Par défaut
    Citation Envoyé par je®ome Voir le message
    Le méta-symbole '^' désigne le complémentaire dans une classe de caractères.
    C-à-d que [^abc] reconnait toutes les lettres sauf a,b et c.

    Si tu désires récupérer tout ce qui ne commence pas par '<', il suffit de commencer avec :

    Mais je ne suis pas d'accord avec ton 1ier message, car tu ne reconnaiteras pas "<*blabla" puisque cette chaîne commence par un '<'

    Si ton expression commence par '^', tu ne trouveras que les solutions en début de ligne.
    Oui voila justement le problème. C'est que si je met : ^<, il ne reconnait pas <*.

    Donc moi ce que j'aimerais écrire, c'est ce qui commence par < suivi de lettre comme par exemple <html> <toto... mais qui reconnaisse quand meme <*

    Je ne vois pas comment écrire cela

  6. #6
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Tu peux faire en sorte que < ne soit reconnu que quand il est suivi de * de la manière suivante :

    Ainsi il reconnait < uniquement s'il est suivi de *

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