2011-07-05 3 views
1

rtf 형식의 텍스트에서 굵은 텍스트를 추출하려면 regexp를 사용해야합니다. 예 : \ b 갈색 여우 \ b0가 \ b 게으른 개 \ b0를 뛰어 넘었습니다.C#의 정규 표현식을 사용하여 rtf 형식의 텍스트 일치

어떻게 \ b와 \ b0 사이에있는 텍스트 만 가져올 수 있습니까? 나는이 표현을 시도했지만 그것은 단지 첫 경기 반환 (\\b.+\b0[^\\b])

+0

을 \ \'. 또한 일치하지 않는 욕설,'+?', –

답변

3
string s = @"The \b brown fox\b0 jumped over the \b lazy dog\b0"; 

Regex rgx = new Regex(@"\\b(.*?)\\b0"); 
foreach (Match m in rgx.Matches(s)) 
{ 
    Console.WriteLine(m.Groups[1].Value); 
} 

또는 당신이 사용할 수있는 캡처 :

string s = @"The \b brown fox\b0 jumped over the \b lazy dog\b0"; 

Regex rgx = new Regex(@"(.*?\\b(.*?)\\b0)*"); 
foreach (Capture c in rgx.Match(s).Groups[2].Captures) 
{ 
    Console.WriteLine(c.Value); 
} 
가`, 백 슬래시 탈출
+0

감사합니다. fiver, 귀하의 표현도 문제를 해결했습니다. – FadelMS

1

사용이 정규 표현식 :

\\b([\s\S]+?)\\b0 
+0

감사합니다. 루벤스, 당신의 표현이 문제를 해결했습니다. – FadelMS

관련 문제