J'éprouve des difficultés à venir avec une expression régulière pour une chaîne sous la forme donnée:regexp pour trouver clés paires de valeurs séparées par deux points
123123<key:value><key:value>,21313<key:value><key:value>
où la clé: des paires de valeurs sont facultatives, mais nous devons ne pas avoir deux deux-points dans la même clé: paires de valeurs.
Je suis arrivé jusqu'ici:
^((\d+)(<(.+?):(.+?)>)*)(,\d+)(<(.+?):(.+?)>)*$
quelques textes valides:
123131
123131, 123131, 1213313
12313<key:value>
232133<key:value><key:value>,232133<key:value><key:value>
Un analyseur linéaire de chaîne serait beaucoup mieux et plus facile à écrire et maintenir. – OrangeDog