J'ai une expression régulière qui fonctionne, mais je voudrais la rendre un peu plus lisible, et je suis loin d'être un gourou de la regex, alors j'espérais humblement quelques conseils.Rendre une petite expression régulière un peu plus lisible
Ceci est conçu pour extraire la sortie de plusieurs compilateurs différents, des lieurs et d'autres outils de construction, et est utilisé pour construire un joli petit rapport estival. Ça fait du boulot génial, mais je me sens comme si je l'avais écrit d'une manière maladroite, et j'apprendrais plutôt que de le garder dans le mauvais sens.
(.*?)\s?:?\s?(informational|warning|error|fatal error)?\s([A-Z]+[0-9][0-9][0-9][0-9]):\s(.*)$
qui, décomposé simplement, est la suivante:
(.*?) # non-greedily match up until...
\s?:?\s? # we come across a possible " : "
(informational|warning|error|fatal error)? # possibly followed by one of these
\s([A-Z]+[0-9][0-9][0-9][0-9]):\s # but 100% followed by this alphanum
(.*)$ # and then capture the rest
Je suis surtout intéressé à faire la 2ème et 4ème entrée au-dessus ... plus belle. Pour une raison quelconque, le testeur de regex que j'utilisais (The Regulator) ne correspondait pas aux espaces, donc j'ai dû utiliser le \ s ... mais il n'est pas fait pour correspondre à d'autres espaces.
Toute scolarité sera grandement appréciée.
Pouvez-vous utiliser « beau » et « regex » dans la même phrase? –
Dans quel langage de programmation utilisez-vous la regex? –