Menu

Regex : trouver tous les mots de plus de 3 lettres entre deux autres mots [Résolu]

Messages postés
1
Date d'inscription
vendredi 22 mars 2019
Statut
Membre
Dernière intervention
22 mars 2019
- - Dernière réponse : Whismeril
Messages postés
13307
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 mai 2019
- 23 mars 2019 à 06:35
Bonjour,

Je suis novice en Regex et je dois écrire (en java) une Regex pour trouver tous les mots de plus de 3 lettres entre deux mots données. .

Par exemple, je dois écrire une Regex qui trouve tous les mots de plus de 3 lettres qui se trouvent entre les mots "P(p)ig(s)" et "B(b)ird(s)" dans les phrases suivante :

Pigs are farm animals. Birds are not
My bird fly in his cage. My pig run in the garden.

Merci
Afficher la suite 

Votre réponse

2 réponses

Messages postés
1
Date d'inscription
vendredi 22 mars 2019
Statut
Membre
Dernière intervention
23 mars 2019
0
Merci
Salut,
Je te conseil d'utiliser ce site pour apprendre / tester tes regexs <a href="https://regex101.com">https://regex101.com</a>
pour la tienne on doit être sur quelque chose du style:
(bird|pig)(s){0,1}(.*)([a-z]{3,*})(.*)(bird|pig)(s){0,1} avec un flag en no case et le tour est joué
Commenter la réponse de 410Gone
Messages postés
13307
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 mai 2019
341
0
Merci
Bonjour
Le conseil d’utiliser un site de test est très bon, et évite de poster une regex qui ne marche pas ;).

Celle-ci fonctionne
(?<=((birds?)|(pigs?)).*)\b[a-z]{3,}\b(?=.*((birds?)|(pigs?)))



Commenter la réponse de Whismeril