Ma question est presque identique à une entrée antérieure que j'ai trouvée ici mais pas tout à fait.Textparsing et fractionnement du texte incluant/excluant les guillemets
J'ai besoin d'analyser un fichier texte où les données sont structurées de la manière suivante: Chaque élément du fichier commence par un #
suivi du libellé. Les champs du message sont séparés par un ou plusieurs espaces.
Voici la partie avec laquelle je rencontre un problème. Chaque zone peut être entourée de guillemets ou non, elle n'est obligatoire que si les données contiennent des espaces. Donc, ce que je veux, c'est une regex qui se sépare par espace mais pas si cet espace est dans une citation.
Pour l'instant, j'utilise une expression rationnelle distincte pour chaque étiquette, mais il serait beaucoup plus efficace de la découper immédiatement en lisant le fichier. En ce qui concerne l'exemple de compte ci-dessous (^#[A-z]+)\s([0-9]+)\s(.+)
Exemple de données
#ACCOUNT 7059 "Misc. travelexpenses"
#ADRESS "M. Jackson" "somewhere over the rainbow" WI53233-1704 555-12345
Pourrait-il y avoir des guillemets incorporés dans les chaînes entre guillemets, et si oui, comment vont-ils être échappés, ie "Deux par quatre (2" "x4" ")" ou "" Deux par quatre (2 \ "x4 \ ")" "? –