나는 다음과 같은 로그가 내가 올바르게 구문 분석하기 위해 노력하고 있습니다(regex) 하나의 이벤트 로그에 5 개의 필드가 있고 다른 하나에는 6이 들어 있으면 대괄호로 묶인 모든 데이터를 어떻게 캡처합니까?
[groupA] [groupB] [groupC] [groupD] [groupE] messsage
이벤트의 일부는 5 개 괄호 필드와 1 메시지 및 로그의 다른 세트가
[groupA] [groupB] [groupC] [groupD] [groupE] [groupF] messsage
6 개 괄호 필드와 1을 포함 메시지.
대괄호 안의 각 필드를 어떻게 캡처 (및 이름 지정)합니까? 내가 처음 레이아웃을 캡처 다음 정규식을 한 후 나는 할 수는 OR (|) 두 번째 레이아웃 캡처 :
\[(?<timestamp>\d{4}-\d{2}-\d{2}\s\d{2}\:\d{2}\:\d{2}\,\d{3})\]\s\[(?<A>.+?)\]\s\[(?<B>.+?)\]\s\[(?<C>.+?)\]\s\[(?<D>.+?)\]\s(?<message>.*)|\[(?<timestamp>\d{4}-\d{2}-\d{2}\s\d{2}\:\d{2}\:\d{2}\,\d{3})\]\s\[(?<A>.+?)\]\s\[(?<B>.+?)\]\s\[(?<C>.+?)\]\s\[(?<D>.+?)\]\s\[(?<E>.+?)\]\s(?<message>.*)
고맙습니다. 나는 선택 그룹을 사용한 적이 없다. – user3002