2013-04-27 4 views
3

수 시간의 검색 및 시행 착오 후 이걸 얻을 수없는 것 같습니다. 두 html 태그 사이에 텍스트를 반환하려고합니다. 문제는 텍스트가 여러 줄에 걸쳐 있다는 것입니다. 여기에 예제가 있습니다. 누군가가 html 태그 사이의 모든 내용을 일치시키는 정규식을 알아낼 수 있다면.태그 사이에 모든 HTML 긁힘

<section id="mysection"> 
The text always starts on the line after the opening section tag. 
It can be anything and even span multiple lines. 
The closing tag always comes after the last line of text. 
</section> 

좀 성공

Regex.Match(html, "<section id=\"mysection\">/s+(.*?)/s+</section>"); 

을 시도했지만 한 줄의 텍스트가 발생했습니다 경우에만 작동하지 우리가있어이 경우 라인은
및 중단했습니다. 위의 예제를 사용하여 "텍스트가 항상 시작 섹션 태그 다음의 줄에서 시작됩니다 .아무 것도 될 수 있고 여러 줄에 걸쳐있을 수도 있습니다. 닫는 태그는 항상 텍스트의 마지막 줄 뒤에옵니다."

+9

필수 : ​​http://stackoverflow.com/a/1732454/2246674 – user2246674

+0

@ 당신은 그것에 나를 이길 user2246674 : P 점이 일치 – Doorknob

+2

(거의) 모든 문자 http://www.regular-expressions.info/ quickstart.html – iGanja

답변

1

사용이 :

Regex.Match(html, "\\<section id=\"mysection\"\\>(.*?)\\</section\\>", 
      RegexOptions.Singleline); 

RegexOptions.Singleline에 대한 설명서에 따르면

는 단일 라인 모드를 지정합니다. 도트 (.)의 의미를 변경하여 (\ n을 제외한 모든 문자 대신) 모든 문자와 일치시킵니다.

또한 꺾쇠 괄호를 이스케이프 처리해야합니다.

관련 문제