2015-09-30 8 views
0

Я хочу проанализировать журнал ошибок. Поэтому я решил найти весь заголовок ошибки в журнале ошибок с помощью Notepad ++, чтобы я мог получить всю первую строку ошибок в результатах поиска (которая содержит краткое описание об ошибке), чтобы определить, нужно ли мне глубже вникать в нее. Но журнал ошибок, по-видимому, заполнен «бесполезным» журналом ошибок из одного вида событий, например, 90% его, поэтому он скрывает реальную ошибку, например, поиск иглы в стоге сена.Регулярное выражение, которое ищет строки, содержащие строку, и не содержит другую строку

Так из этого примера составлен журнал ошибок:

ERROR on Server1: Network connection reset. 
    DETAIL: The client is gone. 
ERROR on Server2: Network connection reset. 
    DETAIL: The client is gone. 
ERROR on Server1: Network connection reset. 
    DETAIL: The client is gone. 
ERROR on Server1: Null Pointer Error. 
    DETAIL: Object 'Cart' does not exists. 
    STACKTRACE: 
     at UpdateCart function 
     at AddProducttoCart function 
ERROR on Server2: Network connection reset. 
    DETAIL: The client is gone. 
ERROR on Server2: IO Error 
    DETAIL: The resource on URL (www.example.com/data.xls) does not exists. 
ERROR on Server2: Network connection reset. 
    DETAIL: The client is gone. 

Я хочу создать регулярное выражение на Notepad ++ поиск, что поиск строки, которая содержит строку «ERROR на», но не содержит «сетевой сброс соединения», поэтому результат поиска будет содержать только:

ERROR on Server1: Null Pointer Error. 
ERROR on Server2: IO Error 

Как я могу это сделать? Я где-то читал, что обратное сопоставление по регулярному выражению несколько сложно и необычно, но это возможно. Благодарю.

Btw, я пробовал другой способ сделать это, например, найти для «ERROR on» + (.*) + «Сброс сетевого соединения», а затем заменить его пустой строкой, чтобы в следующий раз я искал «ERROR on », они не появятся. Но журнал ошибок скремблируется со странными символами после поиска и замены, а после этого Notepad ++ сбой. Я не знаю. У меня никогда не было поиска удачи и замены на Notepad ++ с помощью regex.

ответ

2

Я использовал бы негативный взгляд.

^(?!.*?\bNetwork connection reset\b).*\bERROR on\b.* 
+0

Хорошо, я попробую, чтобы увидеть, если он работает. Благодаря! –

Смежные вопросы