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

MATLAB Discussion :

Expression régulière : tout sauf 'Cocon'


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Expression régulière : tout sauf 'Cocon'
    Bonjour,

    Voici mon problème : je cherche à récupérer une liste de tous les blocs d'un schéma simulink n'étant pas tagués 'Cocon' (tag particulier relatif à mon application). Je pense donc devoir utiliser la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find_system(sys, 'RegExp', 'on', 'Tag', 'expression_reguliere');
    seulement je ne sais pas quelle regexp utiliser pour matcher toutes les chaines sauf 'Cocon' et je commence à douter de la faisabilité... et à m'arracher les cheveux !

    D'avance, merci pour votre aide !

    Fointard

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 12
    Points
    12
    Par défaut solution partielle
    J'ai trouvé la regexp à insérer :

    malheureusement, celle rejete les chaines de caractères vides alors que je souhaite les prendre en compte, cependant, à l'inverse de la fonction regexp(), la fonction find_system() ne prend pas 'emptymatch' comme argument d'entrée...

    existe-t-il une solution ?

    D'avance merci.

    Fointard

  3. #3
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Une solution pas très élégante serait de le faire en 2 fois non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    blocks = find_system(sys, 'RegExp', 'on', 'Tag', '^((?!^Cocon$).)*$');
    blocks = [blocks; find_system(sys, 'Tag', '')];
    Duf

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    c'est effectivement ce que je tente de faire actuellement, c'est moche, mais je ne vois pas d'autre solution.

    Se pose à moi un nouveau problème : les blocs tagués 'Cocon' sont nécessairement des subsystems masqués. Je souhaite, dans mon schéma, récupérer une liste de tous les blocs (masqués ou non) sauf ceux se trouvant à l'intérieur d'un bloc tagué 'Cocon' et ce avec n'importe quel niveau de récursivité.

    Ma solution actuelle se sert de 3 find_system() dont l'un se trouve dans une boucle... Si quelqu'un arrive à faire mieux, je suis preneur.

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 12
    Points
    12
    Par défaut solution trouvée
    Si quelqu'un en vient un jour à se poser la question, j'ai trouvé une solution n'utilisant que deux find_system() et un cellfun() dans une boucle parcourant les blocs du premier find_system.

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

Discussions similaires

  1. Expression régulière : filtrer tout sauf un expression
    Par thomine dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 23/07/2010, 08h14
  2. expression régulière : tout sélectionner
    Par Adjoint dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/12/2009, 21h11
  3. Pb d'expression régulière : tout sauf une certaine extension
    Par supertom dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 10/07/2008, 11h55
  4. [REGEX] expression régulière qui match tout les nombres sauf un
    Par neuromencien dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 28/05/2008, 08h21
  5. [RegEx] Aide sur une expression régulière toute simple
    Par tchoumak dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2005, 15h46

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