Problème regex java

Résolu
helegile Messages postés 5 Date d'inscription jeudi 18 mars 2010 Statut Membre Dernière intervention 7 avril 2010 - 30 mars 2010 à 15:13
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....
A voir également:

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 mars 2010 à 09:03
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
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 mars 2010 à 10:24
[^\]]+?(?=\[|$)

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
helegile Messages postés 5 Date d'inscription jeudi 18 mars 2010 Statut Membre Dernière intervention 7 avril 2010
31 mars 2010 à 09:56
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...
0
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
merci beaucoup c'est exactement ca
0
Rejoignez-nous