2012-07-23 2 views
1

기본적으로 나는 정보가 부족한 부분을 구문 분석 한 로그를 가지고 있습니다. 줄 끝에서 텍스트 덩어리를 추출하는 방법을 알아낼 수 없습니다. 예를 들어 :문자열 끝에 여러 단어 구문 분석 - 일반 표현

2012-06-25 16:19:42,777 [main] INFO ControllerServiceImpl.java (line 72) Starting controller service 

"컨트롤러 서비스 시작"

내가 사용한 정규식 날짜와 기타 정보를 취할 수의,하지만 괄호 후 모든 단어를 꺼낼 수있는 방법을 찾고 있어요 문자열의 마지막에 행 번호를 폐쇄

T

답변

1

당신은 긍정적 인 lookbehind와 함께 할 수 있습니다 (굵은)? < =. 패턴 :

(?<=\))(\s?\w)+$ 

두 개 이상의 행이있는 경우 'm'- multiline 플래그를 추가하는 것을 잊지 마십시오.

+0

둘러보기 후 "\"는 무엇을 나타 냅니까? 전체 로그에 표현식을 적용하면 "Starting controller service"행만 선택됩니다. 나는 이것으로 매우 혼란 스럽다. – Raj

+0

\가 이스케이프 처리 중임). 그래서 기본적으로 그것은 '만약 존재한다면) 어떤 단어 앞에 그리고 나서 문자열/줄의 끝'을 의미합니다. –

+0

Oh 와우. 나는 그것을 어떻게 놓쳤는가? 나는 여전히 여러 줄을 사용할 수있는 경우에도 시작이라는 단어가 괄호 안에있는 모든 것에 반대되는 것으로 선택되는 이유에 대해 다소 혼란스러워합니다. http://regexr.com?31kit – Raj