Regex pour correspondre à certaines lignes, sauf quand ils ont certains mots (vocab regex limitée disponible)
-
26-10-2019 - |
Question
J'utilise une application tailing log (BareTailPro) qui met en évidence les lignes qui correspondent à des expressions régulières. J'ai actuellement le jeu de filtres juste error
(ignorer la casse sur) qui renvoie, par exemple:
25/07/2011 00:09:43.384 [Error] Timeout elapsed
25/07/2011 01:44:04.541 [Error] Receiver TopicName message count changed
25/07/2011 06:07:23.648 [Error] Error processing files
25/07/2011 09:40:04.591 [Error] Receiver TopicName message count changed
25/07/2011 16:42:12.163 [Error] Error Getting Matches & Rejects
Je ne veux pas voir les lignes avec Receiver TopicName.*
.
Est-il possible de mettre en place un regex pour le faire? L'application semble avoir un vocabulaire d'expression extrêmement limité: référence
La solution
Compte tenu de la réponse de Dogbert qui dit qu'il n'y a pas négatif lookAhead je suggère ceci:
Si vous savez ce que toutes les choses possibles qui viennent après une erreur sont, par exemple Timeout
, Error
, Error Getting Matches
, etc ... Vous pouvez ajouter tout cela à votre regexp. Ainsi, au lieu d'erreur correspondant, vous pouvez correspondre error (Timeout|Error|Error Getting Matches)
et ainsi de suite.
Il est pas une solution parfaite (et vous courez le risque de manquer quelques-uns), mais cela pourrait fonctionner.
Autres conseils
Il est impossible car il n'y a pas de regard de la déclaration de soutien avant mentionné sur cette page.
Vous pouvez essayer un négatif si préanalyse BareTailPro supporte.