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

Framework .NET Discussion :

[VB.Net 2.0] - Regex chercher un mot entre deux ?


Sujet :

Framework .NET

  1. #1
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut [VB.Net 2.0] - Regex chercher un mot entre deux ?
    Bonjour a tous !

    voila j'ai un peux de mal a utiliser Regex
    je recherche comment trouver un mot ou la suite d'un mot dans une ligne

    exemple

    sssss motrechercher1 ttttttt
    sssss MotRechercher2 ttttttt

    j'ai fait un truc dans ce style mais ça ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim r As New Regex("sssss + ? ")
    Ce que je recherche c'est la ligne complete
    Le debut commence toujours par la meme choses mais ce qu'il ce trouve apres change et la fin c'est ma meme choses !

    Exist'il un tableau avec les differentes fonction de Regex ?

    Merci de votre aide !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Points : 83
    Points
    83
    Par défaut
    Un InStr ne suffirait pas ?

  3. #3
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut
    Salut

    IndexOf n'est pas le remplacant de Instr ?

    Je souhaiterais me servir de Regex pour la lecture de fichier et la comparaison du text

    Enfaite quand je me sers de l'IndexOf je suis obligé de faire du decoupage avec Remove, je trouve pas ça tres propre au niveau du code
    puis a des moment je n'est pas le resultat voulu !

    tendi que si je me sers de RegEx il sera capable de m'extraire directement le mot qui ce trouve entre les deux autres.

    J'ai deja vu ce genre de chose ! mais je n'en ai plus souvenir !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Points : 83
    Points
    83
    Par défaut
    Oups, c'est pas du tout à ça que je pensais
    Désolée de ne pouvoir t'aider...j'aime pas les regex

  5. #5
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Citation Envoyé par troxsa
    Voila j'ai un peux de mal a utiliser Regex
    je recherche comment trouver un mot ou la suite d'un mot dans une ligne

    exemple
    sssss motrechercher1 ttttttt
    sssss MotRechercher2 ttttttt
    Comprend pas la question.
    Ca veut dire quoi "la suite d"un mot" ?

    Si tu recherches un mot dans une regex, la regex c'est ton mot.
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim r As New Regex("MotRechercher2")
    Mais j'imagine que c'est pas ça ta question. Alors essaye de reformuler comme si tu étais développeur

  6. #6
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut
    c'est a dire que je recherche ce qui ce trouve entre certain mot

    exemple :
    ddddddd ............. ssssssssss

    je ne connais pas le mot qui ce trouve entre ddddddd et ssssssss

    Exemple 2 :
    formidable
    fort de table
    fortifier l'incomparable
    (je sais que ce sont des phrases qui veulent rien dire mais c'est juste pour donner un exemple)
    je recherche donc tout ce qui commence par for et qui ce fini par able et je voudrais extraire le mot ou lettre qui ce trouve entre !

  7. #7
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut
    Voila j'ai fini par trouve un petit bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim r as new Regex("^(debut)(.*)(fin)$")
    ce qui donnerais donc avec les exemples precedament donner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim r as new Regex("^(for)(.*)(able)$")
    ce qui me reste a faire c'est de lire les groups
    chaque "()" correspond a un group j'ai pas encore trouvé comment faire !

    si vous avez des sujestions je suis preneur !

  8. #8
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Tu peux nommer tes groupes.
    Et après, avec l'accesseur Groups, tu peux récupérer le groupe que tu veux.

    Exemple en C# (je cause pas VB)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // on créé la Regex
    Regex r = new Regex("^(for)(?<recherche>.*)(able)", RegexOptions.IgnoreCase);
    // on fait le match
    Match m = r.Match(text);
    // si on a des résultats
    while (m.Success) 
    {
      // on récupére le contenu qu'on cherche
      string contenu = m.Groups["recherche"];
      // on passe au résultat suivant
      m = m.NextMatch();
    }

  9. #9
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Mehdi Feki : Modérateur .Net

Discussions similaires

  1. [Regex] Trouver les mots entre certains autres mots
    Par lequebecois79 dans le forum Langage
    Réponses: 0
    Dernier message: 13/02/2012, 20h57
  2. Réponses: 6
    Dernier message: 17/02/2010, 19h48
  3. chercher le Max entre deux Text Box
    Par amne26 dans le forum IHM
    Réponses: 4
    Dernier message: 29/09/2008, 23h33
  4. Chercher des differences entre deux tables
    Par pierre24 dans le forum SAS Base
    Réponses: 2
    Dernier message: 30/07/2008, 14h56
  5. Chercher les dimanches entre deux dates !
    Par sablito dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/12/2007, 22h05

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