2013-05-09 6 views
1

Я пытаюсь найти все исключения, которые находятся в журнале, которые не относятся к типу InvalidArgumentException. Наш журнал записывает строки, как следующее:Regex For Log Parsing

Class:  InvalidArgumentException 

регулярное выражение Я пытаюсь использовать это:

/Class:.*(!InvalidArgument)Exception/ 

По сути, начинаются со слова Class:, позволяют любые символы после класса, которые не равны InvalidArgument, а затем введите слово Exception

Благодарим за помощь.

ответ

2

одна возможность с отрицательным взглядом за:

/^Class:.*?(?<!InvalidArgument)Exception/ 

тест с grep -P:

kent$ echo "Class: foo InvalidArgumentException 
Class: bar NullPointerException"|grep -P '^Class:.*?(?<!InvalidArgument)Exception' 
Class: bar NullPointerException 
+0

отлично работает. Благодарю. – Mike