2016-07-29 3 views
-3

수많은 사전 설정된 질문 사이의 문자열 (대답)을 찾으려고합니다. 질문은 혼란 스럽지만 각 질문 앞에 "질문 :"으로 시작합니다. 새 줄에 "Answer"이옵니다.Regex LookAhead 한도 (또는 첫 번째 일치)

regex = new Regex(@"(?s)(?<=What is blah blah..Answer)(.*)(?=Question)"); 

이 정규식은 올바르게 답변을 얻습니다. 그러나 다음의 모든 질문을 지나치게 선택하십시오.

Lookahead를 "Question"의 맨 처음 인스턴스로 제한 할 수있는 방법이 있습니까?

편집 : 실제 샘플 질문 :

질문 : 감자가 무엇을 만들어?

답변 : 토마토는 무엇을 만들어 : <은 - 단지

는 질문이 부분을 선택 주로 탄수화물 (전분)에서?

답변 : 감자가 아닙니다.

+0

실제 샘플을보기 대신 사용하여 정규식에서 "blahblah"를 작성하여 주요 부분이 아닌 욕심해야한다. (입력 문자열, 원하는 출력, 대체 또는 유일한 일치) –

+0

부정 투표에 감사드립니다. 정말 대답을 찾는데 도움이됩니다. – bold

+0

답변에 개행 문자가 포함되어 있습니까? 그렇지 않다면,'@ "답 : (. *)"'당신이 필요로하는 것이 전부입니다. –

답변

1

당신이 많은 가정을 해결할 수

.*? instead of .* 
+0

감사합니다. 기쁜 누군가가 실제로 돕고 싶었습니다. :디 – bold