Problème regex java [Résolu]

Messages postés
5
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
7 avril 2010
- - Dernière réponse : helegile
Messages postés
5
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
7 avril 2010
- 2 avril 2010 à 13:22
Bonjour cela fait plusieurs heures que j'essaye de résoudre ce problème :
Je voudrais dans un string du type :
"blablabla [A_RECUP] reblabla [NEED] bleublabli,..."
récupérer dans un tableau de string "[A_RECUP]", "[NEED]" et tout ce qui se trouve entre crochet...

Pour cela j'utilise la methode split(String, Regex) qui découpe le string par rapport au regex
(ex: split(j'en_ ai_ marre","_") = String[]("j'en"," ai"," marre"))

Donc d'abord j'ai fais un regex qui enlève les mots entre crochet
"\\[[a-z]*\\]"
mais quand je veux inverser donc enlever tout ce qui ne ressemble pas au mot entre crochet "[^\\[[a-z]*\\]]" il m'enlève même les lettres entre les crochet, je me retrouve avec String[]("[" , "]" , "[" , "]")

S'il vous plait aidez moi....
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58
3
Merci
Pour récupérer l'entre crochets, il te faut :

\[.*?\]

pour représenter ce qui n'est pas crochets (gaffe, ca supprime les crochets:
(?:^|\]).*?(?:\[|$)

donne le tableau "A_RECUP", "NEED"

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 202 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58
3
Merci
[^\]]+?(?=\[|$)

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 202 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
5
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
7 avril 2010
0
Merci
Merci beaucoup pour ce magnifique regex. Par contre y a t-il un moyen de récupérer les crochets ?
sinon ce n'est pas grave je ferais une méthode qui les rajoutes mais je me demande si au moins c'est possible...
Commenter la réponse de helegile
Messages postés
5
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
7 avril 2010
0
Merci
merci beaucoup c'est exactement ca
Commenter la réponse de helegile