소괄호 내에 포함된 표현식의 파트를 토큰이라고 합니다.
ParseErrorMessage 특성의 정규식은 다음과 같습니다.
([^(]+)[(]([0-9]+)[)] [:] (error|warning|fatal error)
이는 다음 파트로 구성됩니다.
- ([^(]+) 이는 첫 번째 토큰이며,
세트의 시작 부분에 있는 캐럿은 세트에 있는 문자를 제외한 모든 문자와 일치하는 NOT 연산자입니다. 이 토큰은
구문 분석기가 첫 번째 여는 소괄호가 발생할 때까지 모든 문자를 무시하도록 지정합니다.
- [(] 구문 분석기가 정확하게 하나의 여는 소괄호를 검색합니다.
- ([0-9]+) 이는 두 번째 토큰이며,
구문 분석기가 0 -9 범위에서 하나 이상의 숫자 시퀀스를 검색하도록 지정합니다.
- [)] 구문 분석기가 정확하게 하나의 닫는 소괄호를 검색합니다.
- [:] 구문 분석기가 정확하게 하나의 콜론을 검색합니다.
- (error|warning|fatal error} 이는 세 번째 토큰이며, 구문 분석기가
"오류", "경고" 또는 "심각한 오류" 문자열 중 하나를 검색하도록 지정합니다.
ErrorMessageTokensFormat 특성은 ParseErrorMessage와 함께 작동하여
오류 메시지에 포함할 수 있는 토큰 수 및 파일 이름과 오류 행 수를 나타내는 토큰의 메시지 문자열에서
상대 위치를 판별합니다. 샘플 정규식에서 두 번째 토큰은
ErrorMessageTokensFormat이 정의된 방법에 따라 행 번호를 표시합니다.
이 정규식을 기반으로 구문 분석기가 프로그램의 3457 행에서 경고 조건을 나타내는 유효한 오류 메시지로
"(3457):warning" 문자열을 해석합니다.