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 :

Regex avec une négation


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Par défaut Regex avec une négation
    Bonjour à tous,

    Bon, pas taper, je sais que je ne suis pas sur le bon forum mais je n'ai pas trouvé mieux et comme je code en C# je suis arrivé ici.

    Mon problème concerne une expression régulière.

    J'ai un fichier texte avec des lignes de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Action:	TOTO	VEM_M_MAL    : -10- Beheer Evenementen Ziekten [29667/123456789 Ben(2*)] (Modus beheer ziektes : Contractueel)	7/11/2013	29667	2282068	08/11/2013 14:38:07:063
    Je dois trouver toutes les lignes contenant TOTO avec la date du 7/11/2013.

    L'expression régulière est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .+:\tTOTO\t.+7/11/2013.+
    Et ça fonctionne.

    Oui, mais en fait je veux supprimer toutes les autres lignes, une sorte de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !.+:\tTOTO\t.+7/11/2013.+
    Je cherche, je cherche et je ne trouve pas de solution (avec notepad++).

    J'ai bien essayé les assertions négatives mais je n'y arrive pas.

    S'il existe un forum plus adapté que celui-ci, qu'un modérateur déplace mon sujet svp.

    Je rappelle que je ne suis pas dans du code mais j'utilise notepad++.

    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour
    Dans RECHERCHER --> REMPLACER :
    REMPLACER PAR :laisser vide
    Et dans RECHERCHE : tester l'expression suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .+:\t(?!(TOTO\t.+\s7/11/2013.+)).+\r*\n*
    avec donc une assertion négative.

    J'ai aussi :
    - Imposé un espace devant le 7 de la date sinon 07, 17, 27 seront acceptés.
    - Inclus les "retour chariot" et "nouvelle ligne" qui seront - si ils existent - aussi supprimés avec la ligne à ne pas garder.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Par défaut
    Bonjour,

    Désolé, ça ne fonctionne pas, il me dit qu'il ne trouve pas le texte.

    En fait, c'est l'assertion qui (semble) poser un problème à Notepad++.

    Sinon laissez tomber, j'ai pris un autre chemin et j'ai mon résultat.

    Merci de l'aide.

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

Discussions similaires

  1. [RegEx] Remplacement des accents avec une regex
    Par benohit dans le forum Langage
    Réponses: 7
    Dernier message: 07/09/2006, 18h20
  2. [RegEx] Problème avec une ReGex
    Par Death83 dans le forum Langage
    Réponses: 9
    Dernier message: 27/07/2006, 21h27
  3. Problème avec une RegEx
    Par Death83 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 26/05/2006, 14h03
  4. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 12h24
  5. Problème avec RegEx et une Query string
    Par Erakis dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 15h48

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