2016-09-22 2 views
-1

텍스트 파일이 있고 텍스트 파일 내에서 10 번 발생하는 3 줄을 일치시키고 싶습니다. 내 문제는 들여 쓰기와 그 3 라인과 일치하는 것이며, 세 번째 줄은 단어를C# 정규 표현식 들여 쓰기와 일치하는 패턴

라인 예가 될 수 있습니다

Then something something 

     Follow by something found 

     Something something 

이 내가 지금까지 시도한 것입니다 :

string pattern = @"\s\s\s\sThen([\s\S]*)found(\n|\r|\r\n)(\s\s\s\s\s\s)(.*)"; 
match = Regex.Match(input, pattern, RegexOptions.Multiline); 

결과는 저에게 500 매치를 제공합니다.

+3

더 information.Provide 정확한 입력 텍스트를 제공하고 왜 -1 –

+0

결과하세요? 내가 어떻게 더 명확하게 될 수 있는지 알지 못한다. 입력과 결과가 같다. – dnn284

+1

그래서 "Then"이라는 단어가 첫 번째 줄에 있어야하고, "Follow"는 두 번째로, "Something"은 3 번째 줄에 있어야한다. 자본화되거나 중요하지 않아야합니까? 또한이 예에서 첫 번째 줄의 들여 쓰기는 다른 두 줄의 들여 쓰기와 다릅니다. 그게 의도적 인거야? – PiotrWolkowski

답변

0

내가 필요한 형식에 대해 야생 추측을 만들고 있어요,하지만 당신은이 같은 시도 할 수 있습니다 :

var text = @" Then something something 
     Follow by something found 
     Something something 
     "; 
var pattern = @"[ ]{4}Then[\w\s]+(\r|\n|\r\n)[ ]{6}[\w\s]+found(\r|\n|\r\n)[ ]{6}[\w\s]+(\r|\n|\r\n)"; 
var match = Regex.Match(text, pattern, RegexOptions.Multiline) 
+0

그게 아닙니다. 작동, 그것은 내게 결과를주지 않았다 – dnn284

+0

그럼 그것은 샘플 문자열과 일치합니다. 정규 표현식의 일부를 주석으로 처리하고 정확히 일치하지 않는 것을 볼 수 있습니다. –

+0

효과가있었습니다. 처음부터 바로 복사하지 않았습니다. 감사 – dnn284

관련 문제