J'ai une chaîne contenant n sous-chaînes dans le format suivant que je veux correspondre:Java regex aide
{varName:param1, param2, param2}
exigences sont les suivantes:
- Seul le nomVar (à l'intérieur des accolades) est obligatoire
- Aucune limite sur le nombre de paramètres
- Aucune restriction sur les espaces à l'intérieur des accolades en dehors des noms var et qui ne doit pas param contenir des espaces
J'aimerais pouvoir capturer varName et chacun des paramètres séparément.
Je suis venu avec une regex qui est presque là, mais pas tout à fait. Toute aide serait appréciée.
Vous dites que vous avez une regex qui est "presque là". Peut-être pourriez-vous poster ce que vous avez géré jusqu'à présent? –
Problème avec ceci est qu'il correspond à la varName (group1) le premier param (group2) et le dernier param (group3) seulement – Tom
\ {([a-zA-Z] +) (?: \ s *: \ s * ([^, \ s] +))? (?: \ s *, \ s * ([^, \ s] +)) * \ s * \} – Tom