Expressions régulières [Résolu]

Signaler
Messages postés
23
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
28 mars 2013
-
Messages postés
23
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
28 mars 2013
-
Bonjour,

Je cherche à ce que :
m1 "fini"; m2 "dit"; m3 = "dit"; m4 ="";

m1 = new Regex(@"(\w+(it|i)$)( \w*)?").Match("fini").Groups[1].Value;
m2 = new Regex(@"(\w+(it|i)$)( \w*)?").Match("dit que").Groups[1].Value;
m3 = new Regex(@"(\w+(it|i)$)( \w*)?").Match("dit").Groups[1].Value;
m4 = new Regex(@"(\w+(it|i)$)( \w*)?").Match("bien").Groups[1].Value;

Mais donne ... :
m1 "fini"; m2 ""; m3 = "dit"; m4 ="";

Et avec l'opérateur lazy ( $? ) :

m1 "fini"; m2 "dit"; m3 = "dit"; m4 ="bi";

C'est vraiment très important, je n'arrete pas de tourner en rond...
Peut-etre qu'il y a une solution avec un autre langage, automate ou autre.

Un grand merci à celui qui trouvera la réponse ( :P... )

5 réponses

Messages postés
15912
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 mai 2021
540
Bonjour

j'ai mis ce code dans une form ou j'ai une ListBox2

        private void button1_Click(object sender, EventArgs e)
        {
            listBox2.Items.Add(MaRequette("fini"));
            listBox2.Items.Add(MaRequette("dit"));
            listBox2.Items.Add(MaRequette("dit que"));
            listBox2.Items.Add(MaRequette("bien"));
            listBox2.Items.Add(MaRequette("bien fini"));
        }

        private string MaRequette(string value)
        {
            return new Regex(@"(\w+(it|i))( |$)").Match(value).Value;
        }


et ma liste affiche
fini
dit
dit

fini

Bon maintenant, il y a des mots qui se terminent par i et qui n'ont rien de verbes: moi, toi lui etc...

Whismeril
Messages postés
23
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
28 mars 2013

Merci pour ta répone. J'avais trouvé une autre solution : @"\b(\w+(it|i))\b".

Après pour indentifier les verbes, ceux sont les mots précédés par un pronom personnel, auxillaire, pronom réfléchi donc ça va.
Messages postés
15912
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 mai 2021
540
Bonsoir,

il y a cette source, qui permet de tester ses Regex.

Sinon pour t'aider avec le texte d'origine se serait plus simple.


Whismeril
Messages postés
23
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
28 mars 2013

Cette source est bien pour tester les regex sans compiler mais je préfère tester ma regex directement dans visual studio.

Je comprends qu'en utilisant ce programme c'est mieux d'utiliser des pharses mais pour mon problème cela ne fait qu'alourdir la regex.

Pour t'éclairer un peu, je cherche à identifier les verbes. Par exemple dans les phrases "je suis allé au marché" et "aujourd'hui, je suis bien", cette regex suffirait : "je suis (\w+é)". Bien sur, il y a plein d'autres phrases avec des verbes à identifier c'est pourquoi j'ai fait un échantillon de 4 lignes.

PS : J'ai oublié de dire que pour les 4 lignes, il faut que la regex soit identique.

Voilà, je crois que ce que je demande va etre trop commpliqué :-) ....
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
Bonjour,
il y a aussi cet addin pour tester les regex directement dasn VS2010


louis