Je suis en train d'extraire des blocs de données JSON à partir d'un flux de données dans le format suivant:Comment créer un Regex .NET avec un quantificateur dynamique
Some-Header-Name:Value Content-Length:Value Some-Other-Header:Value {JSON data string of variable length}
Le flux contient de nombreux cas du schéma ci-dessus et la La longueur des données JSON dans chaque instance est différente, comme indiqué par l'en-tête Content-Length
précédent.
Je souhaite créer une expression régulière qui correspond à chacune des valeurs d'en-tête de longueur de contenu et l'utilise pour correspondre au bloc de contenu associé. Je prévois quelque chose comme ça ...
Content-Length:(?<LENGTH>\d+).*?\r\n\r\n(?<CONTENT>.{$<LENGTH>})
... mais je ne suis pas sûr de savoir comment spécifier le quantificateur pour le groupe CONTENT
comme une valeur dynamique. Remarque: bien que les en-têtes se trouvent sur des lignes séparées et que le contenu soit séparé des en-têtes par une ligne vierge, il n'y a pas de saut de ligne après le contenu. Il n'est donc pas possible de déterminer la fin du contenu.
Toutes les suggestions seraient appréciées.
Merci, Tim
Merci - je suppose que je m'attendais à trop. Je peux voir que votre approche fonctionnera (d'où j'ai accepté votre réponse), mais j'espérais que Regex offrirait quelque chose qui extrairait beaucoup de matchs en une seule opération. –