Bonjour.

Ce sujet a pour vocation de mieux comprendre les Regex, je ne suis donc pas interressé par des solutions du type String.IndexOf ou SubString , etc...


Je veux rechercher un mot entre deux point :

blablabla.toto.blebleble
Je sais que le mot peut etre toto ou titi ou rifi.

Ce que je ne comprend pas, c'est que si je fais un :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Regex.Match(ligne,"[^\\.][a-z]+[^\\.]")
je récupére bien mon toto

Mais si je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Regex.Match(ligne,"[^\\.](toto|titi|rifi)[^\\.]")
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Regex.Match(ligne,"[^\\.](toto|titi|rifi)+[^\\.]")
ou meme (et c'est la ou je m'y perd vraiment)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Regex.Match(ligne,"[^\\.]toto[^\\.]")
alors là il ne trouve rien

Sauriez vous me dire pourquoi?

Merci d'avance pour vos réponses.