Recherche d'un moyen de lire l'exemple de fichier de configuration suivant à l'aide d'un comparateur de regex multiligne. Je pourrais juste lire dans le dossier par ligne, mais je veux obtenir décent avec les spécificités de correspondance d'expression régulière flexible.Lecture d'un fichier de configuration de texte: utilisation de regex pour analyser
Ainsi, le fichier de configuration est rempli de blocs de code comme suit:
blockName BLOCK
IDENTIFIER value
IDENTIFIER value
IDENTIFIER
"string literal value that
could span multiple lines"
Le nombre d'identifiants pourrait provenir 1..infinity. IDENTIFIER peut être NAME, DESCRIPTION, TYPE ou similaire.
Je n'ai jamais travaillé avec des expressions régulières multi-lignes auparavant. Je ne suis pas très familier avec le processus. Je veux essentiellement utiliser une fonction findAll en utilisant cette expression régulière pour mettre toutes les données de bloc analysées dans une structure de données pour le traitement.
EDIT: clarification: Je cherche seulement à lire ce fichier une fois. Je me fiche de l'efficacité ou de l'élégance. Je veux lire l'information dans une structure de données et la cracher ensuite dans un format différent. C'est un gros fichier (3000 lignes) et je ne veux pas le faire à la main.
Il vaudrait peut-être mieux écrire un lexeur et un analyseur appropriés pour cela. – tdammers
Quel langage/outil utilisez-vous (par exemple Perl, Python, JavaScript, PowerShell, etc.)? Chacun a sa propre saveur regex, et chaque saveur a son propre ensemble de capacités et de bizarreries. –
J'utilise Python. – SirensOfTitan