Expressions régulières [Résolu]

thristam 23 Messages postés mercredi 16 juillet 2003Date d'inscription 28 mars 2013 Dernière intervention - 24 oct. 2011 à 21:00 - Dernière réponse : thristam 23 Messages postés mercredi 16 juillet 2003Date d'inscription 28 mars 2013 Dernière intervention
- 10 nov. 2011 à 21:50
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... )
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Whismeril 12023 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 septembre 2018 Dernière intervention - 27 oct. 2011 à 18:27
3
Merci
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

Merci Whismeril 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Whismeril
Meilleure réponse
thristam 23 Messages postés mercredi 16 juillet 2003Date d'inscription 28 mars 2013 Dernière intervention - 10 nov. 2011 à 21:50
3
Merci
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.

Merci thristam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de thristam
Whismeril 12023 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 septembre 2018 Dernière intervention - 24 oct. 2011 à 21:09
0
Merci
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
Commenter la réponse de Whismeril
thristam 23 Messages postés mercredi 16 juillet 2003Date d'inscription 28 mars 2013 Dernière intervention - 25 oct. 2011 à 19:54
0
Merci
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é :-) ....
Commenter la réponse de thristam
cs_louis14 788 Messages postés mardi 8 juillet 2003Date d'inscription 8 mars 2017 Dernière intervention - 27 oct. 2011 à 10:57
0
Merci
Bonjour,
il y a aussi cet addin pour tester les regex directement dasn VS2010


louis
Commenter la réponse de cs_louis14

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.