2012-09-13 3 views
1

다음 코드에서 정규식과 패턴이 일치하지 않는 이유는 무엇입니까? 그러나 정규식을 사용하여 12sep.txt 파일을 한 줄씩 읽는 중이면 올바르게 작동하고 있습니까?C#에서 정규 표현식을 사용하여 텍스트 파일을 읽는 방법은 무엇입니까?

string file = @"C:\Documents and Settings\Sandeep.kumar\Desktop\12sep.txt"; 
string filedta = File.ReadAllText(file); 
string pattern = @"^[^\s]+.[^\s]txt$"; 
Regex rx = new Regex(pattern, RegexOptions.None); 
MatchCollection mc = rx.Matches(filedta); 

답변

11

입력 문자열이 한 줄 또는 여러 줄인 경우 정규식 특수 문자 "^"와 "$"는 같은 의미를 갖지 않습니다. 한 줄에서는 "문자열 시작"과 "문자열 끝"을 의미합니다. 여러 줄에서 "줄 시작"및 "줄 끝"을 의미합니다. 그들은 각각 시작과 끝에 일치 "여러 줄 모드의 의미^변경 및 $ 있도록 : RegexOptions.Multiline

그리고 문서가 명확하게 무엇 상태 :.

당신이 제어 할 수 RegexOptions의 옵션이 있습니다 , 모든 줄의 시작이 아니라 전체 줄의 끝. "

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regexoptions.aspx

관련 문제