первый вопрос, поэтому будьте нежны.Log Parser Lizard (MS Log Parser) Игнорировать регулярное выражение
Я являюсь регулярным языком падаван. Я только слегка болтала. Я экспериментирую с Log Parser Lizard от LizardLabs. Я пишу XML, который приложение использует MS Log Parser для применения regex к файлу журнала, чтобы вернуть результаты в довольно графическом интерфейсе. XML содержит теги, которые вы определяете как поля, так прощении грязный код, но это, как он хочет ...
<regex>\s{1,}(?<PID>(.*))\((?<TID>(.*))\)\s{1,}(?<DATE>(\d{2}\/\d{2}\/\d{4}))\s{1,}(?<TIME>(\d{2}:\d{2}:\d{2}))\s{1,}(?<CLASS>([A-Z][^\s]{1,}))\s{1,}(?<TYPE>(.{1}))\s{1,}(?<MESSAGE>(.{1,})).*</regex>
<fields>
<field name="PID" type="String" />
<field name="TID" type="String" />
<field name="DATE" type="String" />
<field name="TIME" type="String" />
<field name="CLASS" type="String" />
<field name="TYPE" type="String" />
<field name="MESSAGE" type="String" />
</fields>
Примеры линий:
3840 (5516) 03/15/2015 00:10:04 JS I Запуск инцидента DeadLine Расписание обновления
3840 (5516) 03/15/2015 00:10:04 JS I нет записей для обновления
3648 (5444) 03/15/2015 01:00:07 Версия JGroups: 2.6.15.GA
Регулярно правильно захватывает первые две строки и хорошо разбирается в ней, но третья строка не работает (очевидно, потому что это не тот же формат).
Вопрос: Как использовать (?! JGroups) или [^ JGroups], чтобы регулярное выражение правильно игнорировало строку JGroups?
Я пробовал следующее:
(?<CLASS>([^JGroups][A-Z][^\s]{1,}))
(?<CLASS>((?!JGroups([A-Z][^\s]{1,})))
Ничего похожего не следует игнорировать эту строку (и продолжить сопоставление).
Что я делаю неправильно? Чтобы усложнить его, использование обычного регулярного выражения (без его запуска через это приложение), похоже, работает правильно с моим вторым примером. Это ошибка приложения, не зная, как делать эти «игнорируемые» матчи?