2013-09-04 5 views
-2
내가 빌드 로그, 을 구문 분석하는 간단한 정규 표현식을 쓸 필요가

해석을 놓치지 않고 로그의 실제에는 .error를 찾을 수 있지만, 내 오류 키 :펄 정규 표현식

error_key = .*error \w\d+.*|error 

잘못 일치합니다 :

scanresult32 - 0 error(s), 145 warning(s) 

나는

"XXYYZZ.error" 같은 오류 앞에 "."와 텍스트를 볼 필요 수 yone 내 정규 표현식을 수정하는 방법을 보여 주시겠습니까?

+1

일치하는 항목은 무엇입니까? – fugu

+0

예에서 (scanresult32 - 0 오류 (들), 145 경고) - 구체적으로 무엇을 찾으시겠습니까? 원하는 출력은 무엇입니까? – fugu

+0

안녕하세요, FlyingFrog, 0 개의 오류가 필요합니다 일치로 간주됩니다. – user452187

답변

-1

업데이트 : 새로운 예를 XXYYZZ.error 또는 scanresult32 - 0 error(s), 145 warning(s)를 들어

,이 시도 :

\s+(\w+?\.?error|\d+\s+error\(s\)) 

출력을 :

XXYYZZ.error 
0 error(s) 
+0

고마워요.하지만 이렇게하면 할 수 없습니다. $ line이 동적 인 이유는 무엇입니까? – user452187

+1

올바르게 이해하면 그는 "scanresult32 - 0 오류 (들), 145 경고 (들)"*와 일치하도록 * 원하지 않습니다. – RobEarl

+0

RobEarl이 옳습니다. – user452187

1

일치에게 error의 문자 . 뿅 :

error_key = .*error \w\d+.*|\.error