2009-07-13 7 views
0

Je suis très mauvais avec les expressions régulières et je ne trouve pas comment écrire le motif que je recherche. J'essaie d'analyser la sortie de Visual Studio à la recherche d'erreurs. Je voudrais exclure des choses comme ...Expression régulière pour analyser les messages d'erreur du studio visuel

5> projname - 0 erreur (s), 0 avertissement (s)

mais comme appui lignes 6> codeFile.cpp (1282): erreur: 'TEST_ITEM' n'a pas été déclaré dans cette portée

Je sais que pour cet exemple précis, il serait très facile de tester contre les erreurs: mais il est possible que l'erreur ait des espaces de n'importe quel côté. J'ai besoin essentiellement d'un motif qui va correspondre à tout sauf "0 erreur (s)". Toute aide ou suggestion serait géniale!

Répondre

3

Je recommande Expresso très bon outil pour l'écriture et l'apprentissage expression régulière ... Mais en fonction de votre code cette expression devrait fonctionner:

^.*\s0\serror\(s\),\s0\swarning\(s\)\Z 

Si vous aviez quelques lignes plus par exemple du test I pourrait être en mesure d'écrire une meilleure expression ...

+0

+1 pour un excellent outil. –

+0

Merci beaucoup! J'avais prévu d'écrire mon propre outil pendant le week-end et de m'asseoir pour jouer avec des expressions régulières. J'avais besoin d'une solution pour un projet au travail donc cela m'a beaucoup aidé, merci! –

0

quelle langue utilisez-vous pour analyser la sortie de Visual Studio? en Perl, vous pouvez faire quelque chose comme

$str !~ /\b0\serror\(s\)\b/; 
Questions connexes