2012-06-11 3 views
0

나는 텍스트로 (대형 문서) 구문 분석 할 몇 가지 HTML, 나는 같은 외모에 관심이 부분이 : 이제정규 표현식은 C#에서 문자열과 일치하지합니다

... 
<div id="whatever" class="whatever whatever">some title with <em>html</em> and other such tags in it, but never a div tag</div> 
... 

을 HTML로 DIV 내의 텍스트를 가져오고 싶습니다. 여기에 내가 (사용 그룹) 정규 표현이 무엇 :

<div id=\"whatever\" class=\"whatever whatever\">(?<title>[^</div>]*?)</div> 

그래서 모든 일을 일치하고 지점까지의 모든 텍스트와 그룹을 얻을거야가 생각 어디 </div>가 발생합니다 (문자열 끝에 다른 식별 요소가 없으므로).

^[]은 (는) 해당 문자의 "임의"이므로 "</div>"문자열이 아니기 때문에 작동하지 않습니다. 내가 어떻게이 일을 하는가?

+6

그냥하지 마세요. HTML 파서 (예 : HtmlAgilityPack)를 대신 사용하십시오. 중복 : [RegEx가 XHTML 자체 포함 태그를 제외한 열린 태그와 일치] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) – spender

답변

0
Match m=Regex.Match(s,"\\<div id=\"whatever\" class=\"whatever whatever\">(.*?)\\<\\/div\\>");              
Console.WriteLine(m.Groups[1].Value);