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

POSIX C Discussion :

[Regex posix] Problème de motifs


Sujet :

POSIX C

  1. #1
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 981
    Points
    2 981
    Par défaut [Regex posix] Problème de motifs
    Bonjour,

    J'ai une chaine de caractère à parser et je le fait via regex. Dans cette chaine il y a une partie qui se répète tout le temps.

    Exemple (fichier named.conf):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    zone "113.112.111.in-addr.arpa" in {
    	type master;
    	file "111.112.113.zone";
    };
    J'essaye de récupéré tout ce blog via une regex mais je n'y arrive pas proprement.
    Ma regex pour l'instant :

    (zone[[:space:]]+\"[[:alnum:].-]+\"[[:space:]]+[[:alpha:]]+[[:space:]]*\\{[[:space:]]*[[:alpha:]]+[[:space:]]+[[:alpha:]]+[[:space:]]*;[[:space:]]*)
    La partie en rouge correspond à type master;.
    J'aimerais bien en une fois récupérer la ligne type et la ligne file (il se peut qu'il n'y ait qu'un ou pas ces lignes).

    Est ce qu'il y a une limite à la taille de la regex qu'on peux utilisé avec regcomp, regexec, ... ?


    Yoshio

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 981
    Points
    2 981
    Par défaut
    Personne ne sait comment on peux capturer plusieurs éléments en même temps ?

    Un exemple minime peut etre plus clair :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $str =  "aaaaaaaaaa";
    $pattern = "(a)";
    Si je met ca ca me capture le premier a.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $str =  "aaaaaaaaaa";
    $pattern = "([a]+)";
    Si je met ca ca me capture tous les a.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $str =  "aaaaaaaaaa";
    $pattern = "(a)*";
    Si je met ca, ca marche pas. Et je voudrais non pas capturer tous les a ensemble mais les a séparément.
    La regex est bonne en PHP (PCRE) mais la en C Posix marche pas du tout.

    Quelqu'un aurait-il une idée ?

Discussions similaires

  1. problèmes avec motifs
    Par Leoberos dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2009, 09h43
  2. Regex posix en C
    Par le physicien dans le forum POSIX
    Réponses: 0
    Dernier message: 17/05/2008, 01h01
  3. [RegEx] problème de motif pour preg_match()
    Par Tchupacabra dans le forum Langage
    Réponses: 4
    Dernier message: 18/10/2007, 10h34
  4. [Posix] problème librairie posix edition de lien
    Par hortensinette dans le forum Développement OS X
    Réponses: 1
    Dernier message: 12/04/2007, 16h57
  5. [RegEx] regex : problème de motif
    Par poonoo dans le forum Langage
    Réponses: 12
    Dernier message: 25/09/2006, 14h02

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