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

A voir également:Regex : trouver tous les mots de plus de 3 lettres entre deux autres motsRegex Notepad++ Supprimer tout ce qui se trouve après un mot ✓ - Forum - Logiciels Trouver un bon mot de passe - Conseils pratiques - Sécurité Regex tout sauf un mot - Forum - Java Je ne trouve plus mon mot de passe ✓ - Forum - Samsung Je ne trouve plus mon mot de passe instagram ✓ - Forum - Instagram

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

Forum

A voir également:Regex : trouver tous les mots de plus de 3 lettres entre deux autres motsRegex Notepad++ Supprimer tout ce qui se trouve après un mot ✓ - Forum - Logiciels Trouver un bon mot de passe - Conseils pratiques - Sécurité Regex tout sauf un mot - Forum - Java Je ne trouve plus mon mot de passe ✓ - Forum - Samsung Je ne trouve plus mon mot de passe instagram ✓ - Forum - Instagram

Web: www.shapebootstrap.net

2 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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é

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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?)))



Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed